nethackfandomcom-20200214-history
Source:NetHack 3.4.0/monst.c
Below is the full text to monst.c from the source code of NetHack 3.4.0. To link to a particular line, write [[NetHack 3.4.0/monst.c#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)monst.c 3.4 2000/07/14 */ 2. /* Copyright © Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #include "config.h" 6. #include "permonst.h" 7. #include "monsym.h" 8. #include "dungeon.h" /* prerequisite for eshk,vault,epri */ 9. #include "eshk.h" 10. #include "vault.h" 11. #include "epri.h" 12. 13. #define NO_ATTK {0,0,0,0} 14. 15. #define WT_ELF 800 16. #define WT_DRAGON 4500 17. 18. #ifdef C 19. #undef C 20. #endif 21. #ifdef TEXTCOLOR 22. #include "color.h" 23. #define C(color) color 24. #define HI_DOMESTIC CLR_WHITE /* use for player + friendlies */ 25. #define HI_LORD CLR_MAGENTA 26. #else 27. #define C(color) 28. #endif 29. 30. void NDECL(monst_init); 31. /* 32. * Entry Format: (from permonst.h) 33. * 34. * name, symbol (S_* defines), 35. * difficulty level, move rate, armor class, magic resistance, 36. * alignment, creation/geno flags (G_* defines), 37. * 6 * attack structs ( type , damage-type, # dice, # sides ), 38. * weight (WT_* defines), nutritional value, extension length, 39. * sounds made (MS_* defines), physical size (MZ_* defines), 40. * resistances, resistances conferred (both MR_* defines), 41. * 3 * flag bitmaps (M1_*, M2_*, and M3_* defines respectively) 42. * symbol color (C(x) macro) 43. */ 44. #define MON(nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,col) \ 45. {nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,C(col)} 46. /* LVL() and SIZ() collect several fields to cut down on # of args for MON() */ 47. #define LVL(lvl,mov,ac,mr,aln) lvl,mov,ac,mr,aln 48. #define SIZ(wt,nut,pxl,snd,siz) wt,nut,pxl,snd,siz 49. /* ATTK() and A() are to avoid braces and commas within args to MON() */ 50. #define ATTK(at,ad,n,d) {at,ad,n,d} 51. #define A(a1,a2,a3,a4,a5,a6) {a1,a2,a3,a4,a5,a6} 52. 53. 54. /* 55. * Rule #1: monsters of a given class are contiguous in the 56. * mons[] array. 57. * 58. * Rule #2: monsters of a given class are presented in ascending 59. * order of strength. 60. * 61. * Rule #3: monster frequency is included in the geno mask; 62. * the frequency can be from 0 to 7. 0's will also 63. * be skipped during generation. 64. * 65. * Rule #4: monster subclasses (e.g. giants) should be kept 66. * together, unless it violates Rule 2. NOGEN monsters 67. * won't violate Rule 2. 68. * 69. * Guidelines for color assignment: 70. * 71. * * Use the same color for all `growth stages' of a monster (ex. 72. * little dog/big dog, baby naga/full-grown naga. 73. * 74. * * Use colors given in names wherever possible. If the class has `real' 75. * members with strong color associations, use those. 76. * 77. * * Favor `cool' colors for cold-resistent monsters, `warm' ones for 78. * fire-resistent ones. 79. * 80. * * Try to reserve purple (magenta) for powerful `ruler' monsters (queen 81. * bee, kobold lord, &c.). 82. * 83. * * Subject to all these constraints, try to use color to make as many 84. * distinctions as the / command (that is, within a monster letter 85. * distinct names should map to distinct colors). 86. * 87. * The aim in assigning colors is to be consistent enough so a player can 88. * become `intuitive' about them, deducing some or all of these rules 89. * unconsciously. Use your common sense. 90. */ 91. 92. #ifndef SPLITMON_2 93. NEARDATA struct permonst mons[] = { 94. /* 95. * ants 96. */ 97. MON("giant ant", S_ANT, 98. LVL(2, 18, 3, 0, 0), (G_GENO|G_SGROUP|3), 99. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 100. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 101. SIZ(10, 10, 0, MS_SILENT, MZ_TINY), 0, 0, 102. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 103. M2_HOSTILE, 0, CLR_BROWN), 104. MON("killer bee", S_ANT, 105. LVL(1, 18, -1, 0, 0), (G_GENO|G_LGROUP|2), 106. A(ATTK(AT_STNG, AD_DRST, 1, 3), 107. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 108. SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 109. M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS, 110. M2_HOSTILE|M2_FEMALE, 0, CLR_YELLOW), 111. MON("soldier ant", S_ANT, 112. LVL(3, 18, 3, 0, 0), (G_GENO|G_SGROUP|2), 113. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_DRST, 3, 4), 114. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 115. SIZ(20, 5, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, 116. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 117. M2_HOSTILE, 0, CLR_BLUE), 118. MON("fire ant", S_ANT, 119. LVL(3, 18, 3, 10, 0), (G_GENO|G_SGROUP|1), 120. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_FIRE, 2, 4), 121. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 122. SIZ(30, 10, 0, MS_SILENT, MZ_TINY), MR_FIRE, MR_FIRE, 123. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 124. M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED), 125. MON("giant beetle", S_ANT, 126. LVL(5, 6, 4, 0, 0), (G_GENO|3), 127. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 128. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 129. SIZ(10, 10, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON, 130. M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE, 131. M2_HOSTILE, 0, CLR_BLACK), 132. MON("queen bee", S_ANT, 133. LVL(9, 24, -4, 0, 0), (G_GENO|G_NOGEN), 134. A(ATTK(AT_STNG, AD_DRST, 1, 8), 135. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 136. SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 137. M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_OVIPAROUS|M1_POIS, 138. M2_HOSTILE|M2_FEMALE|M2_PRINCE, 0, HI_LORD), 139. /* 140. * blobs 141. */ 142. MON("acid blob", S_BLOB, 143. LVL(1, 3, 8, 0, 0), (G_GENO|2), 144. A(ATTK(AT_NONE, AD_ACID, 1, 8), 145. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 146. SIZ(30, 10, 0, MS_SILENT, MZ_TINY), 147. MR_SLEEP|MR_POISON|MR_ACID|MR_STONE, MR_STONE, 148. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 149. M1_MINDLESS|M1_ACID, 150. M2_WANDER|M2_NEUTER, 0, CLR_GREEN), 151. MON("quivering blob", S_BLOB, 152. LVL(5, 1, 8, 0, 0), (G_GENO|2), 153. A(ATTK(AT_TUCH, AD_PHYS, 1, 8), 154. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 155. SIZ(200, 100, 0, MS_SILENT, MZ_SMALL), 156. MR_SLEEP|MR_POISON, MR_POISON, 157. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 158. M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_WHITE), 159. MON("gelatinous cube", S_BLOB, 160. LVL(6, 6, 8, 0, 0), (G_GENO|2), 161. A(ATTK(AT_TUCH, AD_PLYS, 2, 4), ATTK(AT_NONE, AD_PLYS, 1, 4), 162. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 163. SIZ(600, 150, 0, MS_SILENT, MZ_LARGE), 164. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_ACID|MR_STONE, 165. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP, 166. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE|M1_ACID, 167. M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN), 168. /* 169. * cockatrice 170. */ 171. MON("chickatrice", S_COCKATRICE, 172. LVL(4, 4, 8, 30, 0), (G_GENO|G_SGROUP|1), 173. A(ATTK(AT_BITE, AD_PHYS, 1, 2), ATTK(AT_TUCH, AD_STON, 0, 0), 174. ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 175. SIZ(10, 10, 0, MS_HISS, MZ_TINY), 176. MR_POISON|MR_STONE, MR_POISON|MR_STONE, 177. M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE, 178. M3_INFRAVISIBLE, CLR_BROWN), 179. MON("cockatrice", S_COCKATRICE, 180. LVL(5, 6, 6, 30, 0), (G_GENO|5), 181. A(ATTK(AT_BITE, AD_PHYS, 1, 3), ATTK(AT_TUCH, AD_STON, 0, 0), 182. ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 183. SIZ(30, 30, 0, MS_HISS, MZ_SMALL), 184. MR_POISON|MR_STONE, MR_POISON|MR_STONE, 185. M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE|M1_OVIPAROUS, M2_HOSTILE, 186. M3_INFRAVISIBLE, CLR_YELLOW), 187. MON("pyrolisk", S_COCKATRICE, 188. LVL(6, 6, 6, 30, 0), (G_GENO|1), 189. A(ATTK(AT_GAZE, AD_FIRE, 2, 6), NO_ATTK, 190. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 191. SIZ(30, 30, 0, MS_HISS, MZ_SMALL), 192. MR_POISON|MR_FIRE, MR_POISON|MR_FIRE, 193. M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE|M1_OVIPAROUS, M2_HOSTILE, 194. M3_INFRAVISIBLE, CLR_RED), 195. /* 196. * dogs & other canines 197. */ 198. MON("jackal", S_DOG, 199. LVL(0, 12, 7, 0, 0), (G_GENO|G_SGROUP|3), 200. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 201. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 202. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 203. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 204. CLR_BROWN), 205. MON("fox", S_DOG, 206. LVL(0, 15, 7, 0, 0), (G_GENO|1), 207. A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, 208. NO_ATTK, NO_ATTK, NO_ATTK), 209. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 210. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 211. CLR_RED), 212. MON("coyote", S_DOG, 213. LVL(1, 12, 7, 0, 0), (G_GENO|G_SGROUP|1), 214. A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, 215. NO_ATTK, NO_ATTK, NO_ATTK), 216. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 217. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 218. CLR_BROWN), 219. MON("werejackal", S_DOG, 220. LVL(2, 12, 7, 10, -7), (G_NOGEN|G_NOCORPSE), 221. A(ATTK(AT_BITE, AD_WERE, 1, 4), NO_ATTK, NO_ATTK, 222. NO_ATTK, NO_ATTK, NO_ATTK), 223. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), MR_POISON, 0, 224. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 225. M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 226. MON("little dog", S_DOG, 227. LVL(2, 18, 6, 0, 0), (G_GENO|1), 228. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 229. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 230. SIZ(150, 150, 0, MS_BARK, MZ_SMALL), 0, 0, 231. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE, 232. HI_DOMESTIC), 233. MON("dog", S_DOG, 234. LVL(4, 16, 5, 0, 0), (G_GENO|1), 235. A(ATTK(AT_BITE, AD_PHYS, 1 ,6), 236. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 237. SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0, 238. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE, 239. HI_DOMESTIC), 240. MON("large dog", S_DOG, 241. LVL(6, 15, 4, 0, 0), (G_GENO|1), 242. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 243. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 244. SIZ(800, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0, 245. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 246. M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC), 247. MON("dingo", S_DOG, 248. LVL(4, 16, 5, 0, 0), (G_GENO|1), 249. A(ATTK(AT_BITE, AD_PHYS, 1 ,6), 250. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 251. SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0, 252. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 253. CLR_YELLOW), 254. MON("wolf", S_DOG, 255. LVL(5, 12, 4, 0, 0), (G_GENO|G_SGROUP|2), 256. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 257. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 258. SIZ(500, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0, 259. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 260. CLR_BROWN), 261. MON("werewolf", S_DOG, 262. LVL(5, 12, 4, 20, -7), (G_NOGEN|G_NOCORPSE), 263. A(ATTK(AT_BITE, AD_WERE, 2, 6), 264. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 265. SIZ(500, 250, 0, MS_BARK, MZ_MEDIUM), MR_POISON, 0, 266. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 267. M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 268. MON("warg", S_DOG, 269. LVL(7, 12, 4, 0, -5), (G_GENO|G_SGROUP|2), 270. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 271. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 272. SIZ(850, 350, 0, MS_BARK, MZ_MEDIUM), 0, 0, 273. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 274. CLR_BROWN), 275. MON("winter wolf cub", S_DOG, 276. LVL(5, 12, 4, 0, -5), (G_NOHELL|G_GENO|G_SGROUP|2), 277. A(ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_BREA, AD_COLD, 1, 8), 278. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 279. SIZ(250, 200, 0, MS_BARK, MZ_SMALL), MR_COLD, MR_COLD, 280. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_CYAN), 281. MON("winter wolf", S_DOG, 282. LVL(7, 12, 4, 20, 0), (G_NOHELL|G_GENO|1), 283. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_COLD, 2, 6), 284. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 285. SIZ(700, 300, 0, MS_BARK, MZ_LARGE), MR_COLD, MR_COLD, 286. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 287. M2_HOSTILE|M2_STRONG, 0, CLR_CYAN), 288. MON("hell hound pup", S_DOG, 289. LVL(7, 12, 4, 20, -5), (G_HELL|G_GENO|G_SGROUP|1), 290. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_FIRE, 2, 6), 291. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 292. SIZ(200, 200, 0, MS_BARK, MZ_SMALL), MR_FIRE, MR_FIRE, 293. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 294. CLR_RED), 295. MON("hell hound", S_DOG, 296. LVL(12, 14, 2, 20, 0), (G_HELL|G_GENO|1), 297. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BREA, AD_FIRE, 3, 6), 298. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 299. SIZ(600, 300, 0, MS_BARK, MZ_MEDIUM), MR_FIRE, MR_FIRE, 300. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 301. M3_INFRAVISIBLE, CLR_RED), 302. #ifdef CHARON 303. MON("Cerberus", S_DOG, 304. LVL(12, 10, 2, 20, -7), (G_HELL|G_UNIQ|1), 305. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BITE, AD_PHYS, 3, 6), 306. ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK), 307. SIZ(1000, 350, 0, MS_BARK, MZ_LARGE), MR_FIRE, MR_FIRE, 308. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 309. M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_MALE, M3_INFRAVISIBLE, 310. CLR_RED), 311. #endif 312. /* 313. * eyes 314. */ 315. MON("gas spore", S_EYE, 316. LVL(1, 3, 10, 0, 0), (G_NOCORPSE|G_GENO|1), 317. A(ATTK(AT_BOOM, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, 318. NO_ATTK, NO_ATTK, NO_ATTK), 319. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0, 320. M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 321. M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY), 322. MON("floating eye", S_EYE, 323. LVL(2, 1, 9, 10, 0), (G_GENO|5), 324. A(ATTK(AT_NONE, AD_PLYS, 0,70), 325. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 326. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0, 327. M1_FLY|M1_AMPHIBIOUS|M1_NOLIMBS|M1_NOHEAD|M1_NOTAKE, 328. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE), 329. MON("freezing sphere", S_EYE, 330. LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_NOHELL|G_GENO|2), 331. A(ATTK(AT_EXPL, AD_COLD, 4, 6), 332. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 333. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD, MR_COLD, 334. M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 335. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_WHITE), 336. MON("flaming sphere", S_EYE, 337. LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_GENO|2), 338. A(ATTK(AT_EXPL, AD_FIRE, 4, 6), NO_ATTK, NO_ATTK, 339. NO_ATTK, NO_ATTK, NO_ATTK), 340. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_FIRE, MR_FIRE, 341. M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 342. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED), 343. MON("shocking sphere", S_EYE, 344. LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_GENO|2), 345. A(ATTK(AT_EXPL, AD_ELEC, 4, 6), NO_ATTK, NO_ATTK, 346. NO_ATTK, NO_ATTK, NO_ATTK), 347. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_ELEC, MR_ELEC, 348. M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 349. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, HI_ZAP), 350. #if 0 /* not yet implemented */ 351. MON("beholder", S_EYE, 352. LVL(6, 3, 4, 0, -10), (G_GENO|2), 353. A(ATTK(AT_GAZE, AD_SLOW, 0, 0), ATTK(AT_GAZE, AD_SLEE, 2,25), 354. ATTK(AT_GAZE, AD_DISN, 0, 0), ATTK(AT_GAZE, AD_STON, 0, 0), 355. ATTK(AT_GAZE, AD_CNCL, 2, 4), ATTK(AT_BITE, AD_PHYS, 2, 4)), 356. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD, 0, 357. M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 358. M2_NOPOLY|M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BROWN), 359. #endif 360. /* 361. * felines 362. */ 363. MON("kitten", S_FELINE, 364. LVL(2, 18, 6, 0, 0), (G_GENO|1), 365. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 366. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 367. SIZ(150, 150, 0, MS_MEW, MZ_SMALL), 0, 0, 368. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 369. M2_WANDER|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC), 370. MON("housecat", S_FELINE, 371. LVL(4, 16, 5, 0, 0), (G_GENO|1), 372. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 373. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 374. SIZ(200, 200, 0, MS_MEW, MZ_SMALL), 0, 0, 375. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE, 376. HI_DOMESTIC), 377. MON("jaguar", S_FELINE, 378. LVL(4, 15, 6, 0, 0), (G_GENO|2), 379. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 380. ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 381. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 382. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 383. CLR_BROWN), 384. MON("lynx", S_FELINE, 385. LVL(5, 15, 6, 0, 0), (G_GENO|1), 386. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 387. ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK), 388. SIZ(600, 300, 0, MS_GROWL, MZ_SMALL), 0, 0, 389. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE, 390. CLR_CYAN), 391. MON("panther", S_FELINE, 392. LVL(5, 15, 6, 0, 0), (G_GENO|1), 393. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 394. ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK), 395. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 396. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE, 397. CLR_BLACK), 398. MON("large cat", S_FELINE, 399. LVL(6, 15, 4, 0, 0), (G_GENO|1), 400. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 401. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 402. SIZ(250, 250, 0, MS_MEW, MZ_SMALL), 0, 0, 403. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 404. M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC), 405. MON("tiger", S_FELINE, 406. LVL(6, 12, 6, 0, 0), (G_GENO|2), 407. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 408. ATTK(AT_BITE, AD_PHYS, 1,10), NO_ATTK, NO_ATTK, NO_ATTK), 409. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 410. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 411. CLR_YELLOW), 412. /* 413. * gremlins and gargoyles 414. */ 415. MON("gremlin", S_GREMLIN, 416. LVL(5, 12, 2, 25, -9), (G_GENO|2), 417. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 418. ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_CURS, 0, 0), 419. NO_ATTK, NO_ATTK), 420. SIZ(100, 20, 0, MS_LAUGH, MZ_SMALL), MR_POISON, MR_POISON, 421. M1_SWIM|M1_HUMANOID|M1_POIS, M2_STALK, M3_INFRAVISIBLE, CLR_GREEN), 422. MON("gargoyle", S_GREMLIN, 423. LVL(6, 10, -4, 0, -9), (G_GENO|2), 424. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6), 425. ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 426. SIZ(1000, 200, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE, 427. M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS, 428. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 429. MON("winged gargoyle", S_GREMLIN, 430. LVL(9, 15, -2, 0, -12), (G_GENO|1), 431. A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6), 432. ATTK(AT_BITE, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK), 433. SIZ(1200, 300, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE, 434. M1_FLY|M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS|M1_OVIPAROUS, 435. M2_LORD|M2_HOSTILE|M2_STRONG|M2_MAGIC, 0, HI_LORD), 436. /* 437. * humanoids 438. */ 439. MON("hobbit", S_HUMANOID, 440. LVL(1, 9, 10, 0, 6), (G_GENO|2), 441. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 442. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 443. SIZ(500, 200, 0, MS_HUMANOID, MZ_SMALL), 0, 0, 444. M1_HUMANOID|M1_OMNIVORE, M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, 445. CLR_GREEN), 446. MON("dwarf", S_HUMANOID, 447. LVL(2, 6, 10, 10, 4), (G_GENO|3), 448. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 449. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 450. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 451. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 452. M2_NOPOLY|M2_DWARF|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 453. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 454. MON("bugbear", S_HUMANOID, 455. LVL(3, 9, 5, 0, -6), (G_GENO|1), 456. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 457. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 458. SIZ(1250, 250, 0, MS_GROWL, MZ_LARGE), 0, 0, 459. M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_COLLECT, 460. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 461. MON("dwarf lord", S_HUMANOID, 462. LVL(4, 6, 10, 10, 5), (G_GENO|2), 463. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 464. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 465. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 466. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 467. M2_DWARF|M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 468. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 469. MON("dwarf king", S_HUMANOID, 470. LVL(6, 6, 10, 20, 6), (G_GENO|1), 471. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 472. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 473. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 474. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 475. M2_DWARF|M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 476. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 477. MON("mind flayer", S_HUMANOID, 478. LVL(9, 12, 5, 90, -8), (G_GENO|1), 479. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_TENT, AD_DRIN, 2, 1), 480. ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1), 481. NO_ATTK, NO_ATTK), 482. SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN), 0, 0, 483. M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE, 484. M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT, 485. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA), 486. MON("master mind flayer", S_HUMANOID, 487. LVL(13, 12, 0, 90, -8), (G_GENO|1), 488. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TENT, AD_DRIN, 2, 1), 489. ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1), 490. ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1)), 491. SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN), 0, 0, 492. M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE, 493. M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT, 494. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA), 495. /* 496. * imps & other minor demons/devils 497. */ 498. MON("manes", S_IMP, 499. LVL(1, 3, 7, 0, -7), (G_GENO|G_LGROUP|G_NOCORPSE|1), 500. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 501. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 502. SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_SLEEP|MR_POISON, 0, 503. M1_POIS, M2_HOSTILE|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 504. MON("homunculus", S_IMP, 505. LVL(2, 12, 6, 10, -7), (G_GENO|2), 506. A(ATTK(AT_BITE, AD_SLEE, 1, 3), 507. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 508. SIZ(60, 100, 0, MS_SILENT, MZ_TINY), 509. MR_SLEEP|MR_POISON, MR_SLEEP|MR_POISON, 510. M1_FLY|M1_POIS, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN), 511. MON("imp", S_IMP, 512. LVL(3, 12, 2, 20, -7), (G_GENO|1), 513. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 514. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 515. SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0, 516. M1_REGEN, M2_WANDER|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 517. MON("lemure", S_IMP, 518. LVL(3, 3, 7, 0, -7), (G_HELL|G_GENO|G_LGROUP|G_NOCORPSE|1), 519. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), 520. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 521. SIZ(150, 100, 0, MS_SILENT, MZ_MEDIUM), 522. MR_SLEEP|MR_POISON, MR_SLEEP, M1_POIS|M1_REGEN, 523. M2_HOSTILE|M2_WANDER|M2_STALK|M2_NEUTER, 524. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 525. MON("quasit", S_IMP, 526. LVL(3, 15, 2, 20, -7), (G_GENO|2), 527. A(ATTK(AT_CLAW, AD_DRDX, 1, 2), ATTK(AT_CLAW, AD_DRDX, 1, 2), 528. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 529. SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 530. M1_REGEN, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 531. MON("tengu", S_IMP, 532. LVL(6, 13, 5, 30, 7), (G_GENO|3), 533. A(ATTK(AT_BITE, AD_PHYS, 1, 7), 534. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 535. SIZ(300, 200, 0, MS_SQAWK, MZ_SMALL), MR_POISON, MR_POISON, 536. M1_TPORT|M1_TPORT_CNTRL, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, 537. CLR_CYAN), 538. /* 539. * jellies 540. */ 541. MON("blue jelly", S_JELLY, 542. LVL(4, 0, 8, 10, 0), (G_GENO|2), 543. A(ATTK(AT_NONE, AD_COLD, 0, 6), 544. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 545. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), 546. MR_COLD|MR_POISON, MR_COLD|MR_POISON, 547. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS 548. |M1_NOTAKE, 549. M2_HOSTILE|M2_NEUTER, 0, CLR_BLUE), 550. MON("spotted jelly", S_JELLY, 551. LVL(5, 0, 8, 10, 0), (G_GENO|1), 552. A(ATTK(AT_NONE, AD_ACID, 0, 6), 553. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 554. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0, 555. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 556. M1_MINDLESS|M1_ACID|M1_NOTAKE, 557. M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN), 558. MON("ochre jelly", S_JELLY, 559. LVL(6, 3, 8, 20, 0), (G_GENO|2), 560. A(ATTK(AT_ENGL, AD_ACID, 3, 6), ATTK(AT_NONE, AD_ACID, 3, 6), 561. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 562. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0, 563. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 564. M1_MINDLESS|M1_ACID|M1_NOTAKE, 565. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 566. /* 567. * kobolds 568. */ 569. MON("kobold", S_KOBOLD, 570. LVL(0, 6, 10, 0, -2), (G_GENO|1), 571. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 572. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 573. SIZ(400, 100, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 574. M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT, 575. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 576. MON("large kobold", S_KOBOLD, 577. LVL(1, 6, 10, 0, -3), (G_GENO|1), 578. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 579. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 580. SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 581. M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT, 582. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 583. MON("kobold lord", S_KOBOLD, 584. LVL(2, 6, 10, 0, -4), (G_GENO|1), 585. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 586. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 587. SIZ(500, 200, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 588. M1_HUMANOID|M1_POIS|M1_OMNIVORE, 589. M2_HOSTILE|M2_LORD|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, 590. HI_LORD), 591. MON("kobold shaman", S_KOBOLD, 592. LVL(2, 6, 6, 10, -4), (G_GENO|1), 593. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 594. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 595. SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 596. M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_MAGIC, 597. M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP), 598. /* 599. * leprechauns 600. */ 601. MON("leprechaun", S_LEPRECHAUN, 602. LVL(5, 15, 8, 20, 0), (G_GENO|4), 603. A(ATTK(AT_CLAW, AD_SGLD, 1, 2), 604. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 605. SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), 0, 0, 606. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_GREEDY, M3_INFRAVISIBLE, CLR_GREEN), 607. /* 608. * mimics 609. */ 610. MON("small mimic", S_MIMIC, 611. LVL(7, 3, 7, 0, 0), (G_GENO|2), 612. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), 613. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 614. SIZ(300, 200, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0, 615. M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 616. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 617. M2_HOSTILE, 0, CLR_BROWN), 618. MON("large mimic", S_MIMIC, 619. LVL(8, 3, 7, 10, 0), (G_GENO|1), 620. A(ATTK(AT_CLAW, AD_STCK, 3, 4), 621. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 622. SIZ(600, 400, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0, 623. M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 624. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 625. M2_HOSTILE|M2_STRONG, 0, CLR_RED), 626. MON("giant mimic", S_MIMIC, 627. LVL(9, 3, 7, 20, 0), (G_GENO|1), 628. A(ATTK(AT_CLAW, AD_STCK, 3, 6), ATTK(AT_CLAW, AD_STCK, 3, 6), 629. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 630. SIZ(800, 500, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0, 631. M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 632. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 633. M2_HOSTILE|M2_STRONG, 0, HI_LORD), 634. /* 635. * nymphs 636. */ 637. MON("wood nymph", S_NYMPH, 638. LVL(3, 12, 9, 20, 0), (G_GENO|2), 639. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 640. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 641. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 642. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, 643. CLR_GREEN), 644. MON("water nymph", S_NYMPH, 645. LVL(3, 12, 9, 20, 0), (G_GENO|2), 646. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 647. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 648. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 649. M1_HUMANOID|M1_TPORT|M1_SWIM, 650. M2_HOSTILE|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, CLR_BLUE), 651. MON("mountain nymph", S_NYMPH, 652. LVL(3, 12, 9, 20, 0), (G_GENO|2), 653. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 654. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 655. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 656. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT, 657. M3_INFRAVISIBLE, CLR_BROWN), 658. /* 659. * orcs 660. */ 661. MON("goblin", S_ORC, 662. LVL(0, 6, 10, 0, -3), (G_GENO|2), 663. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 664. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 665. SIZ(400, 100, 0, MS_ORC, MZ_SMALL), 0, 0, 666. M1_HUMANOID|M1_OMNIVORE, M2_ORC|M2_COLLECT, 667. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 668. MON("hobgoblin", S_ORC, 669. LVL(1, 9, 10, 0, -4), (G_GENO|2), 670. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 671. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 672. SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, 673. M1_HUMANOID|M1_OMNIVORE, M2_ORC|M2_STRONG|M2_COLLECT, 674. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 675. /* plain "orc" for zombie corpses only; not created at random 676. */ 677. MON("orc", S_ORC, 678. LVL(1, 9, 10, 0, -3), (G_GENO|G_NOGEN|G_LGROUP), 679. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 680. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 681. SIZ(850, 150, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 682. M2_NOPOLY|M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 683. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 684. MON("hill orc", S_ORC, 685. LVL(2, 9, 10, 0, -4), (G_GENO|G_LGROUP|2), 686. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 687. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 688. SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 689. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 690. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_YELLOW), 691. MON("Mordor orc", S_ORC, 692. LVL(3, 5, 10, 0, -5), (G_GENO|G_LGROUP|1), 693. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 694. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 695. SIZ(1200, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 696. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 697. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 698. MON("Uruk-hai", S_ORC, 699. LVL(3, 7, 10, 0, -4), (G_GENO|G_LGROUP|1), 700. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 701. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 702. SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 703. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 704. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLACK), 705. MON("orc shaman", S_ORC, 706. LVL(3, 9, 5, 10, -5), (G_GENO|1), 707. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 708. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 709. SIZ(1000, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 710. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_MAGIC, 711. M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP), 712. MON("orc-captain", S_ORC, 713. LVL(5, 5, 10, 0, -5), (G_GENO|1), 714. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 715. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 716. SIZ(1350, 350, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 717. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 718. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 719. /* 720. * piercers 721. */ 722. MON("rock piercer", S_PIERCER, 723. LVL(3, 1, 3, 0, 0), (G_GENO|4), 724. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 725. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 726. SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), 0, 0, 727. M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE, 728. M2_HOSTILE, 0, CLR_GRAY), 729. MON("iron piercer", S_PIERCER, 730. LVL(5, 1, 0, 0, 0), (G_GENO|2), 731. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 732. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 733. SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 734. M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE, 735. M2_HOSTILE, 0, CLR_CYAN), 736. MON("glass piercer", S_PIERCER, 737. LVL(7, 1, 0, 0, 0), (G_GENO|1), 738. A(ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, 739. NO_ATTK, NO_ATTK, NO_ATTK), 740. SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0, 741. M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE, 742. M2_HOSTILE, 0, CLR_WHITE), 743. /* 744. * quadrupeds 745. */ 746. MON("rothe", S_QUADRUPED, 747. LVL(2, 9, 7, 0, 0), (G_GENO|G_SGROUP|4), 748. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3), 749. ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 750. SIZ(400, 100, 0, MS_SILENT, MZ_LARGE), 0, 0, 751. M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 752. CLR_BROWN), 753. MON("mumak", S_QUADRUPED, 754. LVL(5, 9, 0, 0, -2), (G_GENO|1), 755. A(ATTK(AT_BUTT, AD_PHYS, 4,12), ATTK(AT_BITE, AD_PHYS, 2, 6), 756. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 757. SIZ(2500, 500, 0, MS_ROAR, MZ_LARGE), 0, 0, 758. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 759. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY), 760. MON("leocrotta", S_QUADRUPED, 761. LVL(6, 18, 4, 10, 0), (G_GENO|2), 762. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_BITE, AD_PHYS, 2, 6), 763. ATTK(AT_CLAW, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 764. SIZ(1200, 500, 0, MS_IMITATE, MZ_LARGE), 0, 0, 765. M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE|M2_STRONG, 766. M3_INFRAVISIBLE, CLR_RED), 767. MON("wumpus", S_QUADRUPED, 768. LVL(8, 3, 2, 10, 0), (G_GENO|1), 769. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 770. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 771. SIZ(2500, 500, 0, MS_BURBLE, MZ_LARGE), 0, 0, 772. M1_CLING|M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, 773. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_CYAN), 774. MON("titanothere", S_QUADRUPED, 775. LVL(12, 12, 6, 0, 0), (G_GENO|2), 776. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), 777. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 778. SIZ(2650, 650, 0, MS_SILENT, MZ_LARGE), 0, 0, 779. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 780. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY), 781. MON("baluchitherium", S_QUADRUPED, 782. LVL(14, 12, 5, 0, 0), (G_GENO|2), 783. A(ATTK(AT_CLAW, AD_PHYS, 5, 4), ATTK(AT_CLAW, AD_PHYS, 5, 4), 784. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 785. SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), 0, 0, 786. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 787. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY), 788. MON("mastodon", S_QUADRUPED, 789. LVL(20, 12, 5, 0, 0), (G_GENO|1), 790. A(ATTK(AT_BUTT, AD_PHYS, 4, 8), ATTK(AT_BUTT, AD_PHYS, 4, 8), 791. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 792. SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), 0, 0, 793. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 794. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_BLACK), 795. /* 796. * rodents 797. */ 798. MON("sewer rat", S_RODENT, 799. LVL(0, 12, 7, 0, 0), (G_GENO|G_SGROUP|1), 800. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 801. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 802. SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0, 803. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 804. CLR_BROWN), 805. MON("giant rat", S_RODENT, 806. LVL(1, 10, 7, 0, 0), (G_GENO|G_SGROUP|2), 807. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 808. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 809. SIZ(30, 30, 0, MS_SQEEK, MZ_TINY), 0, 0, 810. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 811. CLR_BROWN), 812. MON("rabid rat", S_RODENT, 813. LVL(2, 12, 6, 0, 0), (G_GENO|1), 814. A(ATTK(AT_BITE, AD_DRCO, 2, 4), 815. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 816. SIZ(30, 5, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0, 817. M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 818. CLR_BROWN), 819. MON("wererat", S_RODENT, 820. LVL(2, 12, 6, 10, -7), (G_NOGEN|G_NOCORPSE), 821. A(ATTK(AT_BITE, AD_WERE, 1, 4), 822. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 823. SIZ(40, 30, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0, 824. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 825. M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 826. MON("rock mole", S_RODENT, 827. LVL(3, 3, 0, 20, 0), (G_GENO|2), 828. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 829. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 830. SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0, 831. M1_TUNNEL|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE, 832. M2_HOSTILE|M2_GREEDY|M2_JEWELS|M2_COLLECT, M3_INFRAVISIBLE, CLR_GRAY), 833. MON("woodchuck", S_RODENT, 834. LVL(3, 3, 0, 20, 0), (G_NOGEN|G_GENO), 835. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 836. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 837. SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0, 838. M1_TUNNEL/*LOGGING*/|M1_ANIMAL|M1_NOHANDS|M1_SWIM|M1_HERBIVORE, 839. /* In reality, they tunnel instead of cutting lumber. Oh, well. */ 840. M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 841. /* 842. * spiders & scorpions (keep webmaker() in sync if new critters are added) 843. */ 844. MON("cave spider", S_SPIDER, 845. LVL(1, 12, 3, 0, 0), (G_GENO|G_SGROUP|2), 846. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 847. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 848. SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, 849. M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 850. M2_HOSTILE, 0, CLR_GRAY), 851. MON("centipede", S_SPIDER, 852. LVL(2, 4, 3, 0, 0), (G_GENO|1), 853. A(ATTK(AT_BITE, AD_DRST, 1, 3), NO_ATTK, NO_ATTK, 854. NO_ATTK, NO_ATTK, NO_ATTK), 855. SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, 856. M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 857. M2_HOSTILE, 0, CLR_YELLOW), 858. MON("giant spider", S_SPIDER, 859. LVL(5, 15, 4, 0, 0), (G_GENO|1), 860. A(ATTK(AT_BITE, AD_DRST, 2, 4), 861. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 862. SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON, 863. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 864. M2_HOSTILE|M2_STRONG, 0, CLR_MAGENTA), 865. MON("scorpion", S_SPIDER, 866. LVL(5, 15, 3, 0, 0), (G_GENO|2), 867. A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2), 868. ATTK(AT_STNG, AD_DRST, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 869. SIZ(50, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 870. M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 871. M2_HOSTILE, 0, CLR_RED), 872. /* 873. * trappers, lurkers, &c 874. */ 875. MON("lurker above", S_TRAPPER, 876. LVL(10, 3, 3, 0, 0), (G_GENO|2), 877. A(ATTK(AT_ENGL, AD_DGST, 1, 8), 878. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 879. SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0, 880. M1_HIDE|M1_FLY|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE, 881. M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GRAY), 882. MON("trapper", S_TRAPPER, 883. LVL(12, 3, 3, 0, 0), (G_GENO|2), 884. A(ATTK(AT_ENGL, AD_DGST, 1,10), 885. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 886. SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0, 887. M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE, 888. M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GREEN), 889. /* 890. * unicorns and horses 891. */ 892. MON("white unicorn", S_UNICORN, 893. LVL(4, 24, 2, 70, 7), (G_GENO|2), 894. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 895. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 896. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 897. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 898. M3_INFRAVISIBLE, CLR_WHITE), 899. MON("gray unicorn", S_UNICORN, 900. LVL(4, 24, 2, 70, 0), (G_GENO|1), 901. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 902. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 903. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 904. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 905. M3_INFRAVISIBLE, CLR_GRAY), 906. MON("black unicorn", S_UNICORN, 907. LVL(4, 24, 2, 70, -7), (G_GENO|1), 908. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 909. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 910. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 911. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 912. M3_INFRAVISIBLE, CLR_BLACK), 913. MON("pony", S_UNICORN, 914. LVL(3, 16, 6, 0, 0), (G_GENO|2), 915. A(ATTK(AT_KICK, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_PHYS, 1, 2), 916. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 917. SIZ(1300, 250, 0, MS_NEIGH, MZ_MEDIUM), 0, 0, 918. M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC, 919. M3_INFRAVISIBLE, CLR_BROWN), 920. MON("horse", S_UNICORN, 921. LVL(5, 20, 5, 0, 0), (G_GENO|2), 922. A(ATTK(AT_KICK, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_PHYS, 1, 3), 923. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 924. SIZ(1500, 300, 0, MS_NEIGH, MZ_LARGE), 0, 0, 925. M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC, 926. M3_INFRAVISIBLE, CLR_BROWN), 927. MON("warhorse", S_UNICORN, 928. LVL(7, 24, 4, 0, 0), (G_GENO|2), 929. A(ATTK(AT_KICK, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_PHYS, 1, 4), 930. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 931. SIZ(1800, 350, 0, MS_NEIGH, MZ_LARGE), 0, 0, 932. M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC, 933. M3_INFRAVISIBLE, CLR_BROWN), 934. /* 935. * vortices 936. */ 937. MON("fog cloud", S_VORTEX, 938. LVL(3, 1, 0, 0, 0), (G_GENO|G_NOCORPSE|2), 939. A(ATTK(AT_ENGL, AD_PHYS, 1, 6), 940. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 941. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 942. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 943. M1_AMORPHOUS|M1_UNSOLID, 944. M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY), 945. MON("dust vortex", S_VORTEX, 946. LVL(4, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|2), 947. A(ATTK(AT_ENGL, AD_BLND, 2, 8), 948. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 949. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 950. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 951. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 952. MON("ice vortex", S_VORTEX, 953. LVL(5, 20, 2, 30, 0), (G_NOHELL|G_GENO|G_NOCORPSE|1), 954. A(ATTK(AT_ENGL, AD_COLD, 1, 6), 955. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 956. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 957. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 958. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 959. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_CYAN), 960. MON("energy vortex", S_VORTEX, 961. LVL(6, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|1), 962. A(ATTK(AT_ENGL, AD_ELEC, 1, 6), ATTK(AT_ENGL, AD_DREN, 0, 0), 963. ATTK(AT_NONE, AD_ELEC, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK), 964. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 965. MR_ELEC|MR_SLEEP|MR_DISINT|MR_POISON|MR_STONE, 0, 966. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 967. M1_UNSOLID, 968. M2_HOSTILE|M2_NEUTER, 0, HI_ZAP), 969. MON("steam vortex", S_VORTEX, 970. LVL(7, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|2), 971. A(ATTK(AT_ENGL, AD_FIRE, 1, 8), 972. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 973. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 974. MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE, 0, 975. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 976. M1_UNSOLID, 977. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE), 978. MON("fire vortex", S_VORTEX, 979. LVL(8, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|1), 980. A(ATTK(AT_ENGL, AD_FIRE, 1,10), ATTK(AT_NONE, AD_FIRE, 0, 4), 981. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 982. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 983. MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE, 0, 984. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 985. M1_UNSOLID, 986. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW), 987. /* 988. * worms 989. */ 990. MON("baby long worm", S_WORM, 991. LVL(8, 3, 5, 0, 0), G_GENO, 992. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 993. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 994. SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0, 995. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE, 996. M2_HOSTILE, 0, CLR_BROWN), 997. MON("baby purple worm", S_WORM, 998. LVL(8, 3, 5, 0, 0), G_GENO, 999. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 1000. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1001. SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0, 1002. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 1003. 0, CLR_MAGENTA), 1004. MON("long worm", S_WORM, 1005. LVL(8, 3, 5, 10, 0), (G_GENO|2), 1006. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1007. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1008. SIZ(1500, 500, 0, MS_SILENT, MZ_GIGANTIC), 0, 0, 1009. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE, 1010. M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_BROWN), 1011. MON("purple worm", S_WORM, 1012. LVL(15, 9, 6, 20, 0), (G_GENO|2), 1013. A(ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_ENGL, AD_DGST, 1,10), 1014. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1015. SIZ(2700, 700, 0, MS_SILENT, MZ_GIGANTIC), 0, 0, 1016. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE, 1017. M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_MAGENTA), 1018. /* 1019. * xan, &c 1020. */ 1021. MON("grid bug", S_XAN, 1022. LVL(0, 12, 9, 0, 0), (G_GENO|G_SGROUP|G_NOCORPSE|3), 1023. A(ATTK(AT_BITE, AD_ELEC, 1, 1), 1024. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1025. SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON, 0, 1026. M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, CLR_MAGENTA), 1027. MON("xan", S_XAN, 1028. LVL(7, 18, -4, 0, 0), (G_GENO|3), 1029. A(ATTK(AT_STNG, AD_LEGS, 1, 4), 1030. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1031. SIZ(300, 300, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 1032. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_POIS, M2_HOSTILE, M3_INFRAVISIBLE, 1033. CLR_RED), 1034. /* 1035. * lights 1036. */ 1037. MON("yellow light", S_LIGHT, 1038. LVL(3, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|4), 1039. A(ATTK(AT_EXPL, AD_BLND, 10,20), 1040. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1041. SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 1042. MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID| 1043. MR_STONE, 0, 1044. M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1045. M1_MINDLESS|M1_UNSOLID|M1_NOTAKE, 1046. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW), 1047. MON("black light", S_LIGHT, 1048. LVL(5, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|2), 1049. A(ATTK(AT_EXPL, AD_HALU, 10,12), 1050. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1051. SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 1052. MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID| 1053. MR_STONE, 0, 1054. M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1055. M1_MINDLESS|M1_UNSOLID|M1_SEE_INVIS|M1_NOTAKE, 1056. M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK), 1057. /* 1058. * zruty 1059. */ 1060. MON("zruty", S_ZRUTY, 1061. LVL(9, 8, 3, 0, 0), (G_GENO|2), 1062. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 1063. ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1064. SIZ(1200, 600, 0, MS_SILENT, MZ_LARGE), 0, 0, 1065. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1066. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN), 1067. /* 1068. * Angels and other lawful minions 1069. */ 1070. MON("couatl", S_ANGEL, 1071. LVL(8, 10, 5, 30, 7), (G_NOHELL|G_SGROUP|G_NOCORPSE|1), 1072. A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_BITE, AD_PHYS, 1, 3), 1073. ATTK(AT_HUGS, AD_WRAP, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 1074. SIZ(900, 400, 0, MS_HISS, MZ_LARGE), MR_POISON, 0, 1075. M1_FLY|M1_POIS, 1076. M2_MINION|M2_STALK|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION, 1077. CLR_GREEN), 1078. MON("Aleax", S_ANGEL, 1079. LVL(10, 8, 0, 30, 7), (G_NOHELL|G_NOCORPSE|1), 1080. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 1081. ATTK(AT_KICK, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 1082. SIZ(WT_HUMAN, 400, 0, MS_IMITATE, MZ_HUMAN), 1083. MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 1084. M1_HUMANOID|M1_SEE_INVIS, 1085. M2_MINION|M2_STALK|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, 1086. CLR_YELLOW), 1087. MON("Angel", S_ANGEL, 1088. LVL(14, 10, -4, 55, 12), (G_NOHELL|G_NOCORPSE|1), 1089. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 1090. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_MAGC, AD_MAGM, 2, 6), 1091. NO_ATTK, NO_ATTK), 1092. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_CUSS, MZ_HUMAN), 1093. MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 1094. M1_FLY|M1_HUMANOID|M1_SEE_INVIS, 1095. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_COLLECT, 1096. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE), 1097. MON("ki-rin", S_ANGEL, 1098. LVL(16, 18, -5, 90, 15), (G_NOHELL|G_NOCORPSE|1), 1099. A(ATTK(AT_KICK, AD_PHYS, 2, 4), ATTK(AT_KICK, AD_PHYS, 2, 4), 1100. ATTK(AT_BUTT, AD_PHYS, 3, 6), ATTK(AT_MAGC, AD_SPEL, 2, 6), 1101. NO_ATTK, NO_ATTK), 1102. SIZ(WT_HUMAN, 400, 0, MS_NEIGH, MZ_LARGE), 0, 0, 1103. M1_FLY|M1_SEE_INVIS, 1104. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD, 1105. M3_INFRAVISIBLE|M3_INFRAVISION, HI_GOLD), 1106. MON("Archon", S_ANGEL, 1107. LVL(19, 16, -6, 80, 15), (G_NOHELL|G_NOCORPSE|1), 1108. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 1109. ATTK(AT_GAZE, AD_BLND, 2, 6), ATTK(AT_CLAW, AD_PHYS, 1, 8), 1110. ATTK(AT_MAGC, AD_SPEL, 4, 6), NO_ATTK), 1111. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE), 1112. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 1113. M1_FLY|M1_HUMANOID|M1_SEE_INVIS|M1_REGEN, 1114. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD| 1115. M2_COLLECT|M2_MAGIC, 1116. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 1117. /* 1118. * Bats 1119. */ 1120. MON("bat", S_BAT, 1121. LVL(0, 22, 8, 0, 0), (G_GENO|G_SGROUP|1), 1122. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1123. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1124. SIZ(20, 20, 0, MS_SQEEK, MZ_TINY), 0, 0, 1125. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_WANDER, M3_INFRAVISIBLE, 1126. CLR_BROWN), 1127. MON("giant bat", S_BAT, 1128. LVL(2, 22, 7, 0, 0), (G_GENO|2), 1129. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 1130. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1131. SIZ(30, 30, 0, MS_SQEEK, MZ_SMALL), 0, 0, 1132. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 1133. M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED), 1134. MON("raven", S_BAT, 1135. LVL(4, 20, 6, 0, 0), (G_GENO|2), 1136. A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_BLND, 1, 6), 1137. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1138. SIZ(40, 20, 0, MS_SQAWK, MZ_SMALL), 0, 0, 1139. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 1140. M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK), 1141. MON("vampire bat", S_BAT, 1142. LVL(5, 20, 6, 0, 0), (G_GENO|2), 1143. A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRST, 0, 0), 1144. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1145. SIZ(30, 20, 0, MS_SQEEK, MZ_SMALL), MR_SLEEP|MR_POISON, 0, 1146. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_REGEN|M1_OMNIVORE, 1147. M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK), 1148. /* 1149. * Centaurs 1150. */ 1151. MON("plains centaur", S_CENTAUR, 1152. LVL(4, 18, 4, 0, 0), (G_GENO|1), 1153. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_KICK, AD_PHYS, 1, 6), 1154. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1155. SIZ(2500, 500, 0, MS_HUMANOID, MZ_LARGE), 0, 0, 1156. M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT, 1157. M3_INFRAVISIBLE, CLR_BROWN), 1158. MON("forest centaur", S_CENTAUR, 1159. LVL(5, 18, 3, 10, -1), (G_GENO|1), 1160. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 6), 1161. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1162. SIZ(2550, 600, 0, MS_HUMANOID, MZ_LARGE), 0, 0, 1163. M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT, 1164. M3_INFRAVISIBLE, CLR_GREEN), 1165. MON("mountain centaur", S_CENTAUR, 1166. LVL(6, 20, 2, 10, -3), (G_GENO|1), 1167. A(ATTK(AT_WEAP, AD_PHYS, 1,10), ATTK(AT_KICK, AD_PHYS, 1, 6), 1168. ATTK(AT_KICK, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1169. SIZ(2550, 500, 0, MS_HUMANOID, MZ_LARGE), 0, 0, 1170. M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT, 1171. M3_INFRAVISIBLE, CLR_CYAN), 1172. /* 1173. * Dragons 1174. */ 1175. /* The order of the dragons is VERY IMPORTANT. Quite a few 1176. * pieces of code depend on gray being first and yellow being last. 1177. * The code also depends on the *order* being the same as that for 1178. * dragon scale mail and dragon scales in objects.c. Baby dragons 1179. * cannot confer intrinsics, to avoid polyself/egg abuse. 1180. * 1181. * As reptiles, dragons are cold-blooded and thus aren't seen 1182. * with infravision. Red dragons are the exception. 1183. */ 1184. MON("baby gray dragon", S_DRAGON, 1185. LVL(12, 9, 2, 10, 0), G_GENO, 1186. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1187. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1188. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0, 1189. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1190. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GRAY), 1191. MON("baby silver dragon", S_DRAGON, 1192. LVL(12, 9, 2, 10, 0), G_GENO, 1193. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1194. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1195. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0, 1196. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1197. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BRIGHT_CYAN), 1198. #if 0 /* DEFERRED */ 1199. MON("baby shimmering dragon", S_DRAGON, 1200. LVL(12, 9, 2, 10, 0), G_GENO, 1201. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1202. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1203. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0, 1204. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1205. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_CYAN), 1206. #endif 1207. MON("baby red dragon", S_DRAGON, 1208. LVL(12, 9, 2, 10, 0), G_GENO, 1209. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1210. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1211. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_FIRE, 0, 1212. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1213. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, M3_INFRAVISIBLE, CLR_RED), 1214. MON("baby white dragon", S_DRAGON, 1215. LVL(12, 9, 2, 10, 0), G_GENO, 1216. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1217. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1218. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_COLD, 0, 1219. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1220. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_WHITE), 1221. MON("baby orange dragon", S_DRAGON, 1222. LVL(12, 9, 2, 10, 0), G_GENO, 1223. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1224. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1225. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_SLEEP, 0, 1226. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1227. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_ORANGE), 1228. MON("baby black dragon", S_DRAGON, 1229. LVL(12, 9, 2, 10, 0), G_GENO, 1230. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1231. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1232. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_DISINT, 0, 1233. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1234. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLACK), 1235. MON("baby blue dragon", S_DRAGON, 1236. LVL(12, 9, 2, 10, 0), G_GENO, 1237. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1238. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1239. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_ELEC, 0, 1240. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1241. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLUE), 1242. MON("baby green dragon", S_DRAGON, 1243. LVL(12, 9, 2, 10, 0), G_GENO, 1244. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1245. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1246. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_POISON, 0, 1247. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_POIS, 1248. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GREEN), 1249. MON("baby yellow dragon", S_DRAGON, 1250. LVL(12, 9, 2, 10, 0), G_GENO, 1251. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1252. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1253. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_ACID|MR_STONE, 0, 1254. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_ACID, 1255. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_YELLOW), 1256. MON("gray dragon", S_DRAGON, 1257. LVL(15, 9, -1, 20, 4), (G_GENO|1), 1258. A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1259. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1260. NO_ATTK, NO_ATTK), 1261. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 0, 0, 1262. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1263. M1_CARNIVORE, 1264. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GRAY), 1265. MON("silver dragon", S_DRAGON, 1266. LVL(15, 9, -1, 20, 4), (G_GENO|1), 1267. A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1268. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1269. NO_ATTK, NO_ATTK), 1270. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD, 0, 1271. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1272. M1_CARNIVORE, 1273. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1274. 0, CLR_BRIGHT_CYAN), 1275. #if 0 /* DEFERRED */ 1276. MON("shimmering dragon", S_DRAGON, 1277. LVL(15, 9, -1, 20, 4), (G_GENO|1), 1278. A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1279. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1280. NO_ATTK, NO_ATTK), 1281. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 0, 0, 1282. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1283. M1_CARNIVORE, 1284. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1285. 0, CLR_CYAN), 1286. #endif 1287. MON("red dragon", S_DRAGON, 1288. LVL(15, 9, -1, 20, -4), (G_GENO|1), 1289. A(ATTK(AT_BREA, AD_FIRE, 6, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1290. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1291. NO_ATTK, NO_ATTK), 1292. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_FIRE, MR_FIRE, 1293. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1294. M1_CARNIVORE, 1295. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1296. M3_INFRAVISIBLE, CLR_RED), 1297. MON("white dragon", S_DRAGON, 1298. LVL(15, 9, -1, 20, -5), (G_GENO|1), 1299. A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1300. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1301. NO_ATTK, NO_ATTK), 1302. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD, MR_COLD, 1303. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1304. M1_CARNIVORE, 1305. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_WHITE), 1306. MON("orange dragon", S_DRAGON, 1307. LVL(15, 9, -1, 20, 5), (G_GENO|1), 1308. A(ATTK(AT_BREA, AD_SLEE, 4,25), ATTK(AT_BITE, AD_PHYS, 3, 8), 1309. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1310. NO_ATTK, NO_ATTK), 1311. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_SLEEP, MR_SLEEP, 1312. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1313. M1_CARNIVORE, 1314. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1315. 0, CLR_ORANGE), 1316. MON("black dragon", S_DRAGON, 1317. LVL(15, 9, -1, 20, -6), (G_GENO|1), 1318. A(ATTK(AT_BREA, AD_DISN, 4,10), ATTK(AT_BITE, AD_PHYS, 3, 8), 1319. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1320. NO_ATTK, NO_ATTK), 1321. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_DISINT, MR_DISINT, 1322. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1323. M1_CARNIVORE, 1324. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_BLACK), 1325. MON("blue dragon", S_DRAGON, 1326. LVL(15, 9, -1, 20, -7), (G_GENO|1), 1327. A(ATTK(AT_BREA, AD_ELEC, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1328. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1329. NO_ATTK, NO_ATTK), 1330. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_ELEC, MR_ELEC, 1331. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1332. M1_CARNIVORE, 1333. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_BLUE), 1334. MON("green dragon", S_DRAGON, 1335. LVL(15, 9, -1, 20, 6), (G_GENO|1), 1336. A(ATTK(AT_BREA, AD_DRST, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1337. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1338. NO_ATTK, NO_ATTK), 1339. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_POISON, MR_POISON, 1340. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1341. M1_CARNIVORE|M1_POIS, 1342. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GREEN), 1343. MON("yellow dragon", S_DRAGON, 1344. LVL(15, 9, -1, 20, 7), (G_GENO|1), 1345. A(ATTK(AT_BREA, AD_ACID, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1346. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1347. NO_ATTK, NO_ATTK), 1348. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 1349. MR_ACID|MR_STONE, MR_STONE, 1350. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1351. M1_CARNIVORE|M1_ACID, 1352. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1353. 0, CLR_YELLOW), 1354. /* 1355. * Elementals 1356. */ 1357. MON("stalker", S_ELEMENTAL, 1358. LVL(8, 12, 3, 0, 0), (G_GENO|3), 1359. A(ATTK(AT_CLAW, AD_PHYS, 4, 4), 1360. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1361. SIZ(900, 400, 0, MS_SILENT, MZ_LARGE), 0, 0, 1362. M1_ANIMAL|M1_FLY|M1_SEE_INVIS, 1363. M2_WANDER|M2_STALK|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_WHITE), 1364. MON("air elemental", S_ELEMENTAL, 1365. LVL(8, 36, 2, 30, 0), (G_NOCORPSE|1), 1366. A(ATTK(AT_ENGL, AD_PHYS, 1, 10), 1367. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1368. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0, 1369. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY, 1370. M2_STRONG|M2_NEUTER, 0, CLR_CYAN), 1371. MON("fire elemental", S_ELEMENTAL, 1372. LVL(8, 12, 2, 30, 0), (G_NOCORPSE|1), 1373. A(ATTK(AT_CLAW, AD_FIRE, 3, 6), ATTK(AT_NONE, AD_FIRE, 0, 4), 1374. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1375. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_FIRE|MR_POISON|MR_STONE, 0, 1376. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY|M1_NOTAKE, 1377. M2_STRONG|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW), 1378. MON("earth elemental", S_ELEMENTAL, 1379. LVL(8, 6, 2, 30, 0), (G_NOCORPSE|1), 1380. A(ATTK(AT_CLAW, AD_PHYS, 4, 6), 1381. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1382. SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE), 1383. MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0, 1384. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_BREATHLESS| 1385. M1_WALLWALK|M1_THICK_HIDE, 1386. M2_STRONG|M2_NEUTER, 0, CLR_BROWN), 1387. MON("water elemental", S_ELEMENTAL, 1388. LVL(8, 6, 2, 30, 0), (G_NOCORPSE|1), 1389. A(ATTK(AT_CLAW, AD_PHYS, 5, 6), 1390. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1391. SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0, 1392. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_AMPHIBIOUS|M1_SWIM, 1393. M2_STRONG|M2_NEUTER, 0, CLR_BLUE), 1394. /* 1395. * Fungi 1396. */ 1397. MON("lichen", S_FUNGUS, 1398. LVL(0, 1, 9, 0, 0), (G_GENO|4), 1399. A(ATTK(AT_TUCH, AD_STCK, 0, 0), 1400. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1401. SIZ(20, 200, 0, MS_SILENT, MZ_SMALL), 0, 0, 1402. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1403. M2_HOSTILE|M2_NEUTER, 0, CLR_BRIGHT_GREEN), 1404. MON("brown mold", S_FUNGUS, 1405. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1406. A(ATTK(AT_NONE, AD_COLD, 0, 6), 1407. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1408. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), 1409. MR_COLD|MR_POISON, MR_COLD|MR_POISON, 1410. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1411. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 1412. MON("yellow mold", S_FUNGUS, 1413. LVL(1, 0, 9, 0, 0), (G_GENO|2), 1414. A(ATTK(AT_NONE, AD_STUN, 0, 4), 1415. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1416. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 1417. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_POIS|M1_NOTAKE, 1418. M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW), 1419. MON("green mold", S_FUNGUS, 1420. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1421. A(ATTK(AT_NONE, AD_ACID, 0, 4), 1422. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1423. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_ACID|MR_STONE, MR_STONE, 1424. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_ACID|M1_NOTAKE, 1425. M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN), 1426. MON("red mold", S_FUNGUS, 1427. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1428. A(ATTK(AT_NONE, AD_FIRE, 0, 4), 1429. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1430. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), 1431. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1432. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1433. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED), 1434. MON("shrieker", S_FUNGUS, 1435. LVL(3, 1, 7, 0, 0), (G_GENO|1), 1436. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1437. SIZ(100, 100, 0, MS_SHRIEK, MZ_SMALL), MR_POISON, MR_POISON, 1438. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1439. M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA), 1440. MON("violet fungus", S_FUNGUS, 1441. LVL(3, 1, 7, 0, 0), (G_GENO|2), 1442. A(ATTK(AT_TUCH, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_STCK, 0, 0), 1443. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1444. SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 1445. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1446. M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA), 1447. /* 1448. * Gnomes 1449. */ 1450. MON("gnome", S_GNOME, 1451. LVL(1, 6, 10, 4, 0), (G_GENO|G_SGROUP|1), 1452. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 1453. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1454. SIZ(650, 100, 0, MS_ORC, MZ_SMALL), 0, 0, 1455. M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_GNOME|M2_COLLECT, 1456. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 1457. MON("gnome lord", S_GNOME, 1458. LVL(3, 8, 10, 4, 0), (G_GENO|2), 1459. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 1460. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1461. SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0, 1462. M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_LORD|M2_MALE|M2_COLLECT, 1463. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 1464. MON("gnomish wizard", S_GNOME, 1465. LVL(3, 10, 4, 10, 0), (G_GENO|1), 1466. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 1467. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1468. SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0, 1469. M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_MAGIC, 1470. M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP), 1471. MON("gnome king", S_GNOME, 1472. LVL(5, 10, 10, 20, 0), (G_GENO|1), 1473. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1474. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1475. SIZ(750, 150, 0, MS_ORC, MZ_SMALL), 0, 0, 1476. M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_PRINCE|M2_MALE|M2_COLLECT, 1477. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 1478. #ifdef SPLITMON_1 1479. }; 1480. #endif 1481. #endif /* !SPLITMON_2 */ 1482. 1483. /* horrible kludge alert: 1484. * This is a compiler-specific kludge to allow the compilation of monst.o in 1485. * two pieces, by defining first SPLITMON_1 and then SPLITMON_2. The 1486. * resulting assembler files (monst1.s and monst2.s) are then run through 1487. * sed to change local symbols, concatenated together, and assembled to 1488. * produce monst.o. THIS ONLY WORKS WITH THE ATARI GCC, and should only 1489. * be done if you don't have enough memory to compile monst.o the "normal" 1490. * way. --ERS 1491. */ 1492. 1493. #ifndef SPLITMON_1 1494. #ifdef SPLITMON_2 1495. struct permonst _mons2[] = { 1496. #endif 1497. /* 1498. * giant Humanoids 1499. */ 1500. MON("giant", S_GIANT, 1501. LVL(6, 6, 0, 0, 2), (G_GENO|G_NOGEN|1), 1502. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1503. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1504. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), 0, 0, 1505. M1_HUMANOID|M1_CARNIVORE, 1506. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1507. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 1508. MON("stone giant", S_GIANT, 1509. LVL(6, 6, 0, 0, 2), (G_GENO|G_SGROUP|1), 1510. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1511. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1512. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), 0, 0, 1513. M1_HUMANOID|M1_CARNIVORE, 1514. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1515. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 1516. MON("hill giant", S_GIANT, 1517. LVL(8, 10, 6, 0, -2), (G_GENO|G_SGROUP|1), 1518. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), 1519. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1520. SIZ(2200, 700, 0, MS_BOAST, MZ_HUGE), 0, 0, 1521. M1_HUMANOID|M1_CARNIVORE, 1522. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1523. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_CYAN), 1524. MON("fire giant", S_GIANT, 1525. LVL(9, 12, 4, 5, 2), (G_GENO|G_SGROUP|1), 1526. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1527. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1528. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_FIRE, MR_FIRE, 1529. M1_HUMANOID|M1_CARNIVORE, 1530. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1531. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_YELLOW), 1532. MON("frost giant", S_GIANT, 1533. LVL(10, 12, 3, 10, -3), (G_NOHELL|G_GENO|G_SGROUP|1), 1534. A(ATTK(AT_WEAP, AD_PHYS, 2,12), 1535. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1536. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_COLD, MR_COLD, 1537. M1_HUMANOID|M1_CARNIVORE, 1538. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1539. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE), 1540. MON("storm giant", S_GIANT, 1541. LVL(16, 12, 3, 10, -3), (G_GENO|G_SGROUP|1), 1542. A(ATTK(AT_WEAP, AD_PHYS, 2, 12), 1543. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1544. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_ELEC, MR_ELEC, 1545. M1_HUMANOID|M1_CARNIVORE, 1546. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1547. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 1548. MON("ettin", S_GIANT, 1549. LVL(10, 12, 3, 0, 0), (G_GENO|1), 1550. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6), 1551. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1552. SIZ(1700, 500, 0, MS_GRUNT, MZ_HUGE), 0, 0, 1553. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1554. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 1555. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 1556. MON("titan", S_GIANT, 1557. LVL(16, 18, -3, 70, 9), (1), 1558. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1559. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1560. SIZ(2300, 900, 0, MS_SPELL, MZ_HUGE), 0, 0, 1561. M1_FLY|M1_HUMANOID|M1_OMNIVORE, 1562. M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_MAGIC, 1563. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA), 1564. MON("minotaur", S_GIANT, 1565. LVL(15, 15, 6, 0, 0), (G_GENO|G_NOGEN), 1566. A(ATTK(AT_CLAW, AD_PHYS, 3,10), ATTK(AT_CLAW, AD_PHYS, 3,10), 1567. ATTK(AT_BUTT, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK), 1568. SIZ(1500, 700, 0, MS_SILENT, MZ_LARGE), 0, 0, 1569. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1570. M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION, 1571. CLR_BROWN), 1572. /* 'I' is a visual marker for all invisible monsters and must be unused */ 1573. /* 1574. * Jabberwock 1575. */ 1576. MON("jabberwock", S_JABBERWOCK, 1577. LVL(15, 12, -2, 50, 0), (G_GENO|1), 1578. A(ATTK(AT_BITE, AD_PHYS, 2,10), ATTK(AT_BITE, AD_PHYS, 2,10), 1579. ATTK(AT_CLAW, AD_PHYS, 2,10), ATTK(AT_CLAW, AD_PHYS, 2,10), 1580. NO_ATTK, NO_ATTK), 1581. SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), 0, 0, 1582. M1_ANIMAL|M1_FLY|M1_CARNIVORE, 1583. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE, CLR_ORANGE), 1584. #if 0 /* DEFERRED */ 1585. MON("vorpal jabberwock", S_JABBERWOCK, 1586. LVL(20, 12, -2, 50, 0), (G_GENO|1), 1587. A(ATTK(AT_BITE, AD_PHYS, 3, 10), ATTK(AT_BITE, AD_PHYS, 3, 10), 1588. ATTK(AT_CLAW, AD_PHYS, 3, 10), ATTK(AT_CLAW, AD_PHYS, 3, 10), 1589. NO_ATTK, NO_ATTK), 1590. SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), 0, 0, 1591. M1_ANIMAL|M1_FLY|M1_CARNIVORE, 1592. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE, HI_LORD), 1593. #endif 1594. #ifdef KOPS 1595. /* 1596. * Kops 1597. */ 1598. MON("Keystone Kop", S_KOP, 1599. LVL(1, 6, 10, 10, 9), (G_GENO|G_LGROUP|G_NOGEN), 1600. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 1601. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1602. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1603. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE, 1604. CLR_BLUE), 1605. MON("Kop Sergeant", S_KOP, 1606. LVL(2, 8, 10, 10, 10), (G_GENO|G_SGROUP|G_NOGEN), 1607. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 1608. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1609. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1610. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 1611. M3_INFRAVISIBLE, CLR_BLUE), 1612. MON("Kop Lieutenant", S_KOP, 1613. LVL(3, 10, 10, 20, 11), (G_GENO|G_NOGEN), 1614. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 1615. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1616. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1617. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 1618. M3_INFRAVISIBLE, CLR_CYAN), 1619. MON("Kop Kaptain", S_KOP, 1620. LVL(4, 12, 10, 20, 12), (G_GENO|G_NOGEN), 1621. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1622. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1623. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1624. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 1625. M3_INFRAVISIBLE, HI_LORD), 1626. #endif 1627. /* 1628. * Liches 1629. */ 1630. MON("lich", S_LICH, 1631. LVL(11, 6, 0, 30, -9), (G_GENO|G_NOCORPSE|1), 1632. A(ATTK(AT_TUCH, AD_COLD, 1,10), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1633. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1634. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1635. MR_COLD|MR_SLEEP|MR_POISON, MR_COLD, 1636. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1637. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_INFRAVISION, CLR_BROWN), 1638. MON("demilich", S_LICH, 1639. LVL(14, 9, -2, 60, -12), (G_GENO|G_NOCORPSE|1), 1640. A(ATTK(AT_TUCH, AD_COLD, 3, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1641. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1642. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1643. MR_COLD|MR_SLEEP|MR_POISON, MR_COLD, 1644. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1645. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_INFRAVISION, CLR_RED), 1646. MON("master lich", S_LICH, 1647. LVL(17, 9, -4, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1), 1648. A(ATTK(AT_TUCH, AD_COLD, 3, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1649. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1650. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1651. MR_FIRE|MR_COLD|MR_SLEEP|MR_POISON, MR_FIRE|MR_COLD, 1652. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1653. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK|M3_INFRAVISION, HI_LORD), 1654. MON("arch-lich", S_LICH, 1655. LVL(25, 9, -6, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1), 1656. A(ATTK(AT_TUCH, AD_COLD, 5, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1657. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1658. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1659. MR_FIRE|MR_COLD|MR_SLEEP|MR_ELEC|MR_POISON, MR_FIRE|MR_COLD, 1660. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1661. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK|M3_INFRAVISION, HI_LORD), 1662. /* 1663. * Mummies 1664. */ 1665. MON("kobold mummy", S_MUMMY, 1666. LVL(3, 8, 6, 20, -2), (G_GENO|G_NOCORPSE|1), 1667. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 1668. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1669. SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 1670. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1671. M2_UNDEAD|M2_HOSTILE, M3_INFRAVISION, CLR_BROWN), 1672. MON("gnome mummy", S_MUMMY, 1673. LVL(4, 10, 6, 20, -3), (G_GENO|G_NOCORPSE|1), 1674. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1675. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1676. SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 1677. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1678. M2_UNDEAD|M2_HOSTILE|M2_GNOME, M3_INFRAVISION, CLR_RED), 1679. MON("orc mummy", S_MUMMY, 1680. LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1), 1681. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1682. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1683. SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 1684. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1685. M2_UNDEAD|M2_HOSTILE|M2_ORC|M2_GREEDY|M2_JEWELS, M3_INFRAVISION, 1686. CLR_GRAY), 1687. MON("dwarf mummy", S_MUMMY, 1688. LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1), 1689. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1690. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1691. SIZ(900, 150, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 1692. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1693. M2_UNDEAD|M2_HOSTILE|M2_DWARF|M2_GREEDY|M2_JEWELS, M3_INFRAVISION, 1694. CLR_RED), 1695. MON("elf mummy", S_MUMMY, 1696. LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1), 1697. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), 1698. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1699. SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN), 1700. MR_COLD|MR_SLEEP|MR_POISON, 0, 1701. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1702. M2_UNDEAD|M2_HOSTILE|M2_ELF, M3_INFRAVISION, CLR_GREEN), 1703. MON("human mummy", S_MUMMY, 1704. LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1), 1705. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 1706. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1707. SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN), 1708. MR_COLD|MR_SLEEP|MR_POISON, 0, 1709. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1710. M2_UNDEAD|M2_HOSTILE, M3_INFRAVISION, CLR_GRAY), 1711. MON("ettin mummy", S_MUMMY, 1712. LVL(7, 12, 4, 30, -6), (G_GENO|G_NOCORPSE|1), 1713. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6), 1714. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1715. SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE), 1716. MR_COLD|MR_SLEEP|MR_POISON, 0, 1717. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1718. M2_UNDEAD|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_BLUE), 1719. MON("giant mummy", S_MUMMY, 1720. LVL(8, 14, 3, 30, -7), (G_GENO|G_NOCORPSE|1), 1721. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 1722. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1723. SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE), 1724. MR_COLD|MR_SLEEP|MR_POISON, 0, 1725. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1726. M2_UNDEAD|M2_HOSTILE|M2_GIANT|M2_STRONG|M2_JEWELS, M3_INFRAVISION, 1727. CLR_CYAN), 1728. /* 1729. * Nagas 1730. */ 1731. MON("red naga hatchling", S_NAGA, 1732. LVL(3, 10, 6, 0, 0), G_GENO, 1733. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1734. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1735. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), 1736. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1737. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE, M2_STRONG, 1738. M3_INFRAVISIBLE, CLR_RED), 1739. MON("black naga hatchling", S_NAGA, 1740. LVL(3, 10, 6, 0, 0), G_GENO, 1741. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1742. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1743. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), 1744. MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE, 1745. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_ACID|M1_NOTAKE, 1746. M2_STRONG, 0, CLR_BLACK), 1747. MON("golden naga hatchling", S_NAGA, 1748. LVL(3, 10, 6, 0, 0), G_GENO, 1749. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1750. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1751. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON, 1752. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE, M2_STRONG, 0, HI_GOLD), 1753. MON("guardian naga hatchling", S_NAGA, 1754. LVL(3, 10, 6, 0, 0), G_GENO, 1755. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1756. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1757. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON, 1758. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE, M2_STRONG, 0, CLR_GREEN), 1759. MON("red naga", S_NAGA, 1760. LVL(6, 12, 4, 0, -4), (G_GENO|1), 1761. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BREA, AD_FIRE, 2, 6), 1762. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1763. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), 1764. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1765. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_NOTAKE, 1766. M2_STRONG, M3_INFRAVISIBLE, CLR_RED), 1767. MON("black naga", S_NAGA, 1768. LVL(8, 14, 2, 10, 4), (G_GENO|1), 1769. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_SPIT, AD_ACID, 0, 0), 1770. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1771. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), 1772. MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE, 1773. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_ACID|M1_NOTAKE, 1774. M2_STRONG, 0, CLR_BLACK), 1775. MON("golden naga", S_NAGA, 1776. LVL(10, 14, 2, 70, 5), (G_GENO|1), 1777. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_MAGC, AD_SPEL, 4, 6), 1778. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1779. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON, 1780. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_NOTAKE, 1781. M2_STRONG, 0, HI_GOLD), 1782. MON("guardian naga", S_NAGA, 1783. LVL(12, 16, 0, 50, 7), (G_GENO|1), 1784. A(ATTK(AT_BITE, AD_PLYS, 1, 6), ATTK(AT_SPIT, AD_DRST, 1, 6), 1785. ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 1786. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON, 1787. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_POIS|M1_NOTAKE, 1788. M2_STRONG, 0, CLR_GREEN), 1789. /* 1790. * Ogres 1791. */ 1792. MON("ogre", S_OGRE, 1793. LVL(5, 10, 5, 0, -3), (G_SGROUP|G_GENO|1), 1794. A(ATTK(AT_WEAP, AD_PHYS, 2, 5), 1795. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1796. SIZ(1600, 500, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE, 1797. M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 1798. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 1799. MON("ogre lord", S_OGRE, 1800. LVL(7, 12, 3, 30, -5), (G_GENO|2), 1801. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1802. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1803. SIZ(1700, 700, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE, 1804. M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 1805. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 1806. MON("ogre king", S_OGRE, 1807. LVL(9, 14, 4, 60, -7), (G_GENO|2), 1808. A(ATTK(AT_WEAP, AD_PHYS, 3, 5), 1809. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1810. SIZ(1700, 750, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE, 1811. M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 1812. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 1813. /* 1814. * Puddings 1815. */ 1816. MON("gray ooze", S_PUDDING, 1817. LVL(3, 1, 8, 0, 0), (G_GENO|2), 1818. A(ATTK(AT_BITE, AD_RUST, 2, 8), 1819. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1820. SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM), 1821. MR_FIRE|MR_COLD|MR_POISON|MR_ACID|MR_STONE, MR_FIRE|MR_COLD|MR_POISON, 1822. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1823. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1824. M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY), 1825. MON("brown pudding", S_PUDDING, 1826. LVL(5, 3, 8, 0, 0), (G_GENO|1), 1827. A(ATTK(AT_BITE, AD_DCAY, 0, 0), 1828. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1829. SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM), 1830. MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON, 1831. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1832. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1833. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 1834. MON("black pudding", S_PUDDING, 1835. LVL(10, 6, 6, 0, 0), (G_GENO|1), 1836. A(ATTK(AT_BITE, AD_CORR, 3, 8), ATTK(AT_NONE, AD_CORR, 0, 0), 1837. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1838. SIZ(900, 250, 0, MS_SILENT, MZ_LARGE), 1839. MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON, 1840. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1841. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1842. M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK), 1843. MON("green slime", S_PUDDING, 1844. LVL(6, 6, 6, 0, 0), (G_HELL|G_GENO|1), 1845. A(ATTK(AT_TUCH, AD_SLIM, 1, 4), ATTK(AT_NONE, AD_SLIM, 0, 0), 1846. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1847. SIZ(400, 150, 0, MS_SILENT, MZ_LARGE), 1848. MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, 0, 1849. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1850. M1_MINDLESS|M1_OMNIVORE|M1_ACID|M1_POIS, 1851. M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN), 1852. /* 1853. * Quantum mechanics 1854. */ 1855. MON("quantum mechanic", S_QUANTMECH, 1856. LVL(7, 12, 3, 10, 0), (G_GENO|3), 1857. A(ATTK(AT_CLAW, AD_TLPT, 1, 4), 1858. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1859. SIZ(WT_HUMAN, 20, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 1860. M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_TPORT, M2_HOSTILE, M3_INFRAVISIBLE, 1861. CLR_CYAN), 1862. /* 1863. * Rust monster or disenchanter 1864. */ 1865. MON("rust monster", S_RUSTMONST, 1866. LVL(5, 18, 2, 0, 0), (G_GENO|2), 1867. A(ATTK(AT_TUCH, AD_RUST, 0, 0), ATTK(AT_TUCH, AD_RUST, 0, 0), 1868. ATTK(AT_NONE, AD_RUST, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 1869. SIZ(1000, 250, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 1870. M1_SWIM|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE, M2_HOSTILE, 1871. M3_INFRAVISIBLE, CLR_BROWN), 1872. MON("disenchanter", S_RUSTMONST, 1873. LVL(12, 12, -10, 0, -3), (G_HELL|G_GENO|2), 1874. A(ATTK(AT_CLAW, AD_ENCH, 4, 4), ATTK(AT_NONE, AD_ENCH, 0, 0), 1875. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1876. SIZ(750, 200, 0, MS_GROWL, MZ_LARGE), 0, 0, 1877. M1_ANIMAL|M1_CARNIVORE, M2_HOSTILE, 1878. M3_INFRAVISIBLE, CLR_BLUE), 1879. /* 1880. * Snakes 1881. */ 1882. MON("garter snake", S_SNAKE, 1883. LVL(1, 8, 8, 0, 0), (G_LGROUP|G_GENO|1), 1884. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 1885. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1886. SIZ(50, 60, 0, MS_HISS, MZ_TINY), 0, 0, 1887. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_OVIPAROUS| 1888. M1_CARNIVORE|M1_NOTAKE, 1889. 0, 0, CLR_GREEN), 1890. MON("snake", S_SNAKE, 1891. LVL(4, 15, 3, 0, 0), (G_GENO|2), 1892. A(ATTK(AT_BITE, AD_DRST, 1, 6), 1893. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1894. SIZ(100, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON, 1895. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1896. M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE, 1897. M2_HOSTILE, 0, CLR_BROWN), 1898. MON("water moccasin", S_SNAKE, 1899. LVL(4, 15, 3, 0, 0), (G_GENO|G_NOGEN|G_LGROUP), 1900. A(ATTK(AT_BITE, AD_DRST, 1, 6), 1901. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1902. SIZ(150, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON, 1903. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1904. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 1905. M2_HOSTILE, 0, CLR_RED), 1906. MON("pit viper", S_SNAKE, 1907. LVL(6, 15, 2, 0, 0), (G_GENO|1), 1908. A(ATTK(AT_BITE, AD_DRST, 1, 4), ATTK(AT_BITE, AD_DRST, 1, 4), 1909. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1910. SIZ(100, 60, 0, MS_HISS, MZ_MEDIUM), 1911. MR_POISON, MR_POISON, 1912. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1913. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 1914. M2_HOSTILE, M3_INFRAVISION, CLR_BLUE), 1915. MON("python", S_SNAKE, 1916. LVL(6, 3, 5, 0, 0), (G_GENO|1), 1917. A(ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_PHYS, 0, 0), 1918. ATTK(AT_HUGS, AD_WRAP, 1, 4), ATTK(AT_HUGS, AD_PHYS, 2, 4), 1919. NO_ATTK, NO_ATTK), 1920. SIZ(250, 100, 0, MS_HISS, MZ_LARGE), 0, 0, 1921. M1_SWIM|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY| 1922. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 1923. M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_MAGENTA), 1924. MON("cobra", S_SNAKE, 1925. LVL(6, 18, 2, 0, 0), (G_GENO|1), 1926. A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_SPIT, AD_BLND, 0, 0), 1927. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1928. SIZ(250, 100, 0, MS_HISS, MZ_MEDIUM), 1929. MR_POISON, MR_POISON, 1930. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1931. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 1932. M2_HOSTILE, 0, CLR_BLUE), 1933. /* 1934. * Trolls 1935. */ 1936. MON("troll", S_TROLL, 1937. LVL(7, 12, 4, 0, -3), (G_GENO|2), 1938. A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 4, 2), 1939. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1940. SIZ(800, 350, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1941. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1942. M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION, 1943. CLR_BROWN), 1944. MON("ice troll", S_TROLL, 1945. LVL(9, 10, 2, 20, -3), (G_NOHELL|G_GENO|1), 1946. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_COLD, 2, 6), 1947. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1948. SIZ(1000, 300, 0, MS_GRUNT, MZ_LARGE), MR_COLD, MR_COLD, 1949. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1950. M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION, 1951. CLR_WHITE), 1952. MON("rock troll", S_TROLL, 1953. LVL(9, 12, 0, 0, -3), (G_GENO|1), 1954. A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8), 1955. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1956. SIZ(1200, 300, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1957. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1958. M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT, 1959. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_CYAN), 1960. MON("water troll", S_TROLL, 1961. LVL(11, 14, 4, 40, -3), (G_NOGEN|G_GENO), 1962. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 1963. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1964. SIZ(1200, 350, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1965. M1_HUMANOID|M1_REGEN|M1_CARNIVORE|M1_SWIM, 1966. M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION, 1967. CLR_BLUE), 1968. MON("Olog-hai", S_TROLL, 1969. LVL(13, 12, -4, 0, -7), (G_GENO|1), 1970. A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8), 1971. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1972. SIZ(1500, 400, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1973. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1974. M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT, 1975. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 1976. /* 1977. * Umber hulk 1978. */ 1979. MON("umber hulk", S_UMBER, 1980. LVL(9, 6, 2, 25, 0), (G_GENO|2), 1981. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 1982. ATTK(AT_BITE, AD_PHYS, 2, 5), ATTK(AT_GAZE, AD_CONF, 0, 0), 1983. NO_ATTK, NO_ATTK), 1984. SIZ(1200, 500, 0, MS_SILENT, MZ_LARGE), 0, 0, 1985. M1_TUNNEL|M1_CARNIVORE, M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN), 1986. /* 1987. * Vampires 1988. */ 1989. MON("vampire", S_VAMPIRE, 1990. LVL(10, 12, 1, 25, -8), (G_GENO|G_NOCORPSE|1), 1991. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRLI, 1, 6), 1992. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1993. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 1994. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1995. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE, 1996. CLR_RED), 1997. MON("vampire lord", S_VAMPIRE, 1998. LVL(12, 14, 0, 50, -9), (G_GENO|G_NOCORPSE|1), 1999. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_DRLI, 1, 8), 2000. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2001. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 2002. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 2003. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE, 2004. M3_INFRAVISIBLE, CLR_BLUE), 2005. #if 0 /* DEFERRED */ 2006. MON("vampire mage", S_VAMPIRE, 2007. LVL(20, 14, -4, 50, -9), (G_GENO|G_NOCORPSE|1), 2008. A(ATTK(AT_CLAW, AD_DRLI, 2, 8), ATTK(AT_BITE, AD_DRLI, 1, 8), 2009. ATTK(AT_MAGC, AD_SPEL, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2010. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 2011. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 2012. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE| 2013. M2_MAGIC, M3_INFRAVISIBLE, HI_ZAP), 2014. #endif 2015. MON("Vlad the Impaler", S_VAMPIRE, 2016. LVL(14, 18, -3, 80, -10), (G_NOGEN|G_NOCORPSE|G_UNIQ), 2017. A(ATTK(AT_WEAP, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_DRLI, 1, 10), 2018. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2019. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 2020. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 2021. M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG| 2022. M2_NASTY|M2_PRINCE|M2_MALE, 2023. M3_WAITFORU|M3_WANTSCAND|M3_INFRAVISIBLE, HI_LORD), 2024. /* 2025. * Wraiths 2026. */ 2027. MON("barrow wight", S_WRAITH, 2028. LVL(3, 12, 5, 5, -3), (G_GENO|G_NOCORPSE|1), 2029. A(ATTK(AT_WEAP, AD_DRLI, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2030. ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2031. SIZ(1200, 0, 0, MS_SPELL, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 2032. M1_BREATHLESS|M1_HUMANOID, 2033. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_COLLECT, 0, CLR_GRAY), 2034. MON("wraith", S_WRAITH, 2035. LVL(6, 12, 4, 15, -6), (G_GENO|2), 2036. A(ATTK(AT_TUCH, AD_DRLI, 1, 6), 2037. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2038. SIZ(0, 0, 0, MS_SILENT, MZ_HUMAN), 2039. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 2040. M1_BREATHLESS|M1_FLY|M1_HUMANOID|M1_UNSOLID, 2041. M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_BLACK), 2042. MON("Nazgul", S_WRAITH, 2043. LVL(13, 12, 0, 25, -17), (G_GENO|G_NOCORPSE|1), 2044. A(ATTK(AT_WEAP, AD_DRLI, 1, 4), ATTK(AT_BREA, AD_SLEE, 2,25), 2045. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2046. SIZ(WT_HUMAN, 0, 0, MS_SPELL, MZ_HUMAN), 2047. MR_COLD|MR_SLEEP|MR_POISON, 0, M1_BREATHLESS|M1_HUMANOID, 2048. M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_STRONG|M2_HOSTILE|M2_MALE|M2_COLLECT, 2049. 0, HI_LORD), 2050. /* 2051. * Xorn 2052. */ 2053. MON("xorn", S_XORN, 2054. LVL(8, 9,-2, 20, 0), (G_GENO|1), 2055. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2056. ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 4, 6), 2057. NO_ATTK, NO_ATTK), 2058. SIZ(1200, 700, 0, MS_ROAR, MZ_MEDIUM), 2059. MR_FIRE|MR_COLD|MR_STONE, MR_STONE, 2060. M1_BREATHLESS|M1_WALLWALK|M1_THICK_HIDE|M1_METALLIVORE, 2061. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 2062. /* 2063. * Yeti, apes and other large beasts 2064. */ 2065. MON("monkey", S_YETI, 2066. LVL(2, 12, 6, 0, 0), (G_GENO|1), 2067. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_BITE, AD_PHYS, 1, 3), 2068. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2069. SIZ(100, 50, 0, MS_GROWL, MZ_SMALL), 0, 0, 2070. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 0, M3_INFRAVISIBLE, CLR_GRAY), 2071. MON("ape", S_YETI, 2072. LVL(4, 12, 6, 0, 0), (G_GENO|G_SGROUP|2), 2073. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2074. ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2075. SIZ(1100, 500, 0, MS_GROWL, MZ_LARGE), 0, 0, 2076. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_STRONG, M3_INFRAVISIBLE, 2077. CLR_BROWN), 2078. MON("owlbear", S_YETI, 2079. LVL(5, 12, 5, 0, 0), (G_GENO|3), 2080. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 2081. ATTK(AT_HUGS, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK), 2082. SIZ(1700, 700, 0, MS_ROAR, MZ_LARGE), 0, 0, 2083. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 2084. M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE, CLR_BROWN), 2085. MON("yeti", S_YETI, 2086. LVL(5, 15, 6, 0, 0), (G_GENO|2), 2087. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 2088. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2089. SIZ(1600, 700, 0, MS_GROWL, MZ_LARGE), MR_COLD, MR_COLD, 2090. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 2091. M3_INFRAVISIBLE, CLR_WHITE), 2092. MON("carnivorous ape", S_YETI, 2093. LVL(6, 12, 6, 0, 0), (G_GENO|1), 2094. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2095. ATTK(AT_HUGS, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 2096. SIZ(1250, 550, 0, MS_GROWL, MZ_LARGE), 0, 0, 2097. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 2098. M3_INFRAVISIBLE, CLR_BLACK), 2099. MON("sasquatch", S_YETI, 2100. LVL(7, 15, 6, 0, 2), (G_GENO|1), 2101. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 2102. ATTK(AT_KICK, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 2103. SIZ(1550, 750, 0, MS_GROWL, MZ_LARGE), 0, 0, 2104. M1_ANIMAL|M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, M2_STRONG, 2105. M3_INFRAVISIBLE, CLR_GRAY), 2106. /* 2107. * Zombies 2108. */ 2109. MON("kobold zombie", S_ZOMBIE, 2110. LVL(0, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1), 2111. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 2112. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2113. SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 2114. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2115. M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, CLR_BROWN), 2116. MON("gnome zombie", S_ZOMBIE, 2117. LVL(1, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1), 2118. A(ATTK(AT_CLAW, AD_PHYS, 1, 5), 2119. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2120. SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 2121. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2122. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GNOME, M3_INFRAVISION, CLR_BROWN), 2123. MON("orc zombie", S_ZOMBIE, 2124. LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 2125. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 2126. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2127. SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 2128. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2129. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ORC, M3_INFRAVISION, CLR_GRAY), 2130. MON("dwarf zombie", S_ZOMBIE, 2131. LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 2132. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 2133. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2134. SIZ(900, 150, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 2135. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2136. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_DWARF, M3_INFRAVISION, CLR_RED), 2137. MON("elf zombie", S_ZOMBIE, 2138. LVL(3, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 2139. A(ATTK(AT_CLAW, AD_PHYS, 1, 7), 2140. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2141. SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN), 2142. MR_COLD|MR_SLEEP|MR_POISON, 0, 2143. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2144. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ELF, M3_INFRAVISION, CLR_GREEN), 2145. MON("human zombie", S_ZOMBIE, 2146. LVL(4, 6, 8, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 2147. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), 2148. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2149. SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN), 2150. MR_COLD|MR_SLEEP|MR_POISON, 0, 2151. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2152. M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, HI_DOMESTIC), 2153. MON("ettin zombie", S_ZOMBIE, 2154. LVL(6, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1), 2155. A(ATTK(AT_CLAW, AD_PHYS, 1,10), ATTK(AT_CLAW, AD_PHYS, 1,10), 2156. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2157. SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE), 2158. MR_COLD|MR_SLEEP|MR_POISON, 0, 2159. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2160. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_BLUE), 2161. MON("giant zombie", S_ZOMBIE, 2162. LVL(8, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1), 2163. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 2164. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2165. SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE), 2166. MR_COLD|MR_SLEEP|MR_POISON, 0, 2167. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2168. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GIANT|M2_STRONG, M3_INFRAVISION, 2169. CLR_CYAN), 2170. MON("ghoul", S_ZOMBIE, 2171. LVL(3, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1), 2172. A(ATTK(AT_CLAW, AD_PLYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2173. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2174. SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), 2175. MR_COLD|MR_SLEEP|MR_POISON, 0, 2176. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2177. M2_UNDEAD|M2_WANDER|M2_HOSTILE, M3_INFRAVISION, CLR_BLACK), 2178. MON("skeleton", S_ZOMBIE, 2179. LVL(12, 8, 4, 0, 0), (G_NOCORPSE|G_NOGEN), 2180. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6), 2181. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2182. SIZ(300, 5, 0, MS_BONES, MZ_HUMAN), 2183. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 2184. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2185. M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NASTY, 2186. M3_INFRAVISION, CLR_WHITE), 2187. /* 2188. * golems 2189. */ 2190. MON("straw golem", S_GOLEM, 2191. LVL(3, 12, 10, 0, 0), (G_NOCORPSE|1), 2192. A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2), 2193. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2194. SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2195. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2196. M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW), 2197. MON("paper golem", S_GOLEM, 2198. LVL(3, 12, 10, 0, 0), (G_NOCORPSE|1), 2199. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), 2200. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2201. SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2202. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2203. M2_HOSTILE|M2_NEUTER, 0, HI_PAPER), 2204. MON("rope golem", S_GOLEM, 2205. LVL(4, 9, 8, 0, 0), (G_NOCORPSE|1), 2206. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2207. ATTK(AT_HUGS, AD_PHYS, 6, 1), NO_ATTK, NO_ATTK, NO_ATTK), 2208. SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2209. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2210. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 2211. MON("gold golem", S_GOLEM, 2212. LVL(5, 9, 6, 0, 0), (G_NOCORPSE|1), 2213. A(ATTK(AT_CLAW, AD_PHYS, 2, 3), ATTK(AT_CLAW, AD_PHYS, 2, 3), 2214. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2215. SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_ACID, 0, 2216. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2217. M2_HOSTILE|M2_NEUTER, 0, HI_GOLD), 2218. MON("leather golem", S_GOLEM, 2219. LVL(6, 6, 6, 0, 0), (G_NOCORPSE|1), 2220. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 2221. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2222. SIZ(800, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2223. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2224. M2_HOSTILE|M2_NEUTER, 0, HI_LEATHER), 2225. MON("wood golem", S_GOLEM, 2226. LVL(7, 3, 4, 0, 0), (G_NOCORPSE|1), 2227. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), 2228. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2229. SIZ(900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2230. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2231. M2_HOSTILE|M2_NEUTER, 0, HI_WOOD), 2232. MON("flesh golem", S_GOLEM, 2233. LVL(9, 8, 9, 30, 0), (1), 2234. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 2235. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2236. SIZ(1400, 600, 0, MS_SILENT, MZ_LARGE), 2237. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 2238. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 2239. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2240. M2_HOSTILE|M2_STRONG, 0, CLR_RED), 2241. MON("clay golem", S_GOLEM, 2242. LVL(11, 7, 7, 40, 0), (G_NOCORPSE|1), 2243. A(ATTK(AT_CLAW, AD_PHYS, 3,10), 2244. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2245. SIZ(1550, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2246. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2247. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 2248. MON("stone golem", S_GOLEM, 2249. LVL(14, 6, 5, 50, 0), (G_NOCORPSE|1), 2250. A(ATTK(AT_CLAW, AD_PHYS, 3, 8), 2251. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2252. SIZ(1900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 2253. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2254. M2_HOSTILE|M2_STRONG, 0, CLR_GRAY), 2255. MON("glass golem", S_GOLEM, 2256. LVL(16, 6, 1, 50, 0), (G_NOCORPSE|1), 2257. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 2258. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2259. SIZ(1800, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_ACID, 0, 2260. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2261. M2_HOSTILE|M2_STRONG, 0, CLR_CYAN), 2262. MON("iron golem", S_GOLEM, 2263. LVL(18, 6, 3, 60, 0), (G_NOCORPSE|1), 2264. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_BREA, AD_DRST, 4, 6), 2265. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2266. SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE), 2267. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 2268. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS, 2269. M2_HOSTILE|M2_STRONG|M2_COLLECT, 0, HI_METAL), 2270. /* 2271. * humans, including elves and were-critters 2272. */ 2273. MON("human", S_HUMAN, 2274. LVL(0, 12, 10, 0, 0), G_NOGEN, /* for corpses */ 2275. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2276. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2277. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2278. M1_HUMANOID|M1_OMNIVORE, 2279. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 2280. M3_INFRAVISIBLE, HI_DOMESTIC), 2281. MON("wererat", S_HUMAN, 2282. LVL(2, 12, 10, 10, -7), (1), 2283. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2284. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2285. SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0, 2286. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 2287. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE, 2288. CLR_BROWN), 2289. MON("werejackal", S_HUMAN, 2290. LVL(2, 12, 10, 10, -7), (1), 2291. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2292. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2293. SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0, 2294. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 2295. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE, 2296. CLR_RED), 2297. MON("werewolf", S_HUMAN, 2298. LVL(5, 12, 10, 20, -7), (1), 2299. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2300. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2301. SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0, 2302. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 2303. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, 2304. M3_INFRAVISIBLE, CLR_ORANGE), 2305. MON("elf", S_HUMAN, 2306. LVL(10, 12, 10, 2, -3), G_NOGEN, /* for corpses */ 2307. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2308. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2309. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2310. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2311. M2_NOPOLY|M2_ELF|M2_STRONG|M2_COLLECT, M3_INFRAVISION|M3_INFRAVISIBLE, 2312. HI_DOMESTIC), 2313. MON("Woodland-elf", S_HUMAN, 2314. LVL(4, 12, 10, 10, -5), (G_GENO|G_SGROUP|2), 2315. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2316. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2317. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2318. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2319. M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN), 2320. MON("Green-elf", S_HUMAN, 2321. LVL(5, 12, 10, 10, -6), (G_GENO|G_SGROUP|2), 2322. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2323. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2324. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2325. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2326. M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_GREEN), 2327. MON("Grey-elf", S_HUMAN, 2328. LVL(6, 12, 10, 10, -7), (G_GENO|G_SGROUP|2), 2329. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2330. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2331. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2332. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2333. M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2334. MON("elf-lord", S_HUMAN, 2335. LVL(8, 12, 10, 20, -9), (G_GENO|G_SGROUP|2), 2336. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2337. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2338. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2339. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2340. M2_ELF|M2_STRONG|M2_LORD|M2_MALE|M2_COLLECT, 2341. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_BLUE), 2342. MON("Elvenking", S_HUMAN, 2343. LVL(9, 12, 10, 25, -10), (G_GENO|1), 2344. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2345. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2346. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2347. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2348. M2_ELF|M2_STRONG|M2_PRINCE|M2_MALE|M2_COLLECT, 2349. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2350. MON("doppelganger", S_HUMAN, 2351. LVL(9, 12, 5, 20, 0), (G_GENO|1), 2352. A(ATTK(AT_WEAP, AD_PHYS, 1, 12), 2353. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2354. SIZ(WT_HUMAN, 400, 0, MS_IMITATE, MZ_HUMAN), MR_SLEEP, 0, 2355. M1_HUMANOID|M1_OMNIVORE, 2356. M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2357. M3_INFRAVISIBLE, HI_DOMESTIC), 2358. MON("nurse", S_HUMAN, 2359. LVL(11, 6, 0, 0, 0), (G_GENO|3), 2360. A(ATTK(AT_CLAW, AD_HEAL, 2, 6), 2361. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2362. SIZ(WT_HUMAN, 400, 0, MS_NURSE, MZ_HUMAN), MR_POISON, MR_POISON, 2363. M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_HUMAN|M2_HOSTILE, 2364. M3_INFRAVISIBLE, HI_DOMESTIC), 2365. MON("shopkeeper", S_HUMAN, 2366. LVL(12, 18, 0, 50, 0), G_NOGEN, 2367. A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4), 2368. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2369. SIZ(WT_HUMAN, 400, sizeof(struct eshk), MS_SELL, MZ_HUMAN), 0, 0, 2370. M1_HUMANOID|M1_OMNIVORE, 2371. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 2372. M3_INFRAVISIBLE, HI_DOMESTIC), 2373. MON("guard", S_HUMAN, 2374. LVL(12, 12, 10, 40, 10), G_NOGEN, 2375. A(ATTK(AT_WEAP, AD_PHYS, 4,10), 2376. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2377. SIZ(WT_HUMAN, 400, sizeof(struct egd), MS_GUARD, MZ_HUMAN), 0, 0, 2378. M1_HUMANOID|M1_OMNIVORE, 2379. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2380. M3_INFRAVISIBLE, CLR_BLUE), 2381. MON("prisoner", S_HUMAN, 2382. LVL(12, 12, 10, 0, 0), G_NOGEN, /* for special levels */ 2383. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2384. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2385. SIZ(WT_HUMAN, 400, 0, MS_DJINNI, MZ_HUMAN), 0, 0, 2386. M1_HUMANOID|M1_OMNIVORE, 2387. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2388. M3_INFRAVISIBLE|M3_CLOSE, HI_DOMESTIC), 2389. MON("Oracle", S_HUMAN, 2390. LVL(12, 0, 0, 50, 0), (G_NOGEN|G_UNIQ), 2391. A(ATTK(AT_NONE, AD_MAGM, 0, 4), 2392. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2393. SIZ(WT_HUMAN, 400, 0, MS_ORACLE, MZ_HUMAN), 0, 0, 2394. M1_HUMANOID|M1_OMNIVORE, 2395. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_FEMALE, M3_INFRAVISIBLE, HI_ZAP), 2396. MON("aligned priest", S_HUMAN, 2397. LVL(12, 12, 10, 50, 0), G_NOGEN, 2398. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 1, 4), 2399. ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 2400. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN), 2401. MR_ELEC, 0, M1_HUMANOID|M1_OMNIVORE, 2402. M2_NOPOLY|M2_HUMAN|M2_LORD|M2_PEACEFUL|M2_COLLECT, M3_INFRAVISIBLE, 2403. CLR_WHITE), 2404. MON("high priest", S_HUMAN, 2405. LVL(25, 15, 7, 70, 0), (G_NOGEN|G_UNIQ), 2406. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8), 2407. ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), 2408. NO_ATTK, NO_ATTK), 2409. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN), 2410. MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, 2411. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2412. M2_NOPOLY|M2_HUMAN|M2_MINION|M2_PRINCE|M2_NASTY|M2_COLLECT|M2_MAGIC, 2413. M3_INFRAVISIBLE, CLR_WHITE), 2414. MON("soldier", S_HUMAN, 2415. LVL(6, 10, 10, 0, -2), (G_SGROUP|G_GENO|1), 2416. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2417. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2418. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2419. M1_HUMANOID|M1_OMNIVORE, 2420. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2421. M3_INFRAVISIBLE, CLR_GRAY), 2422. MON("sergeant", S_HUMAN, 2423. LVL(8, 10, 10, 5, -3), (G_SGROUP|G_GENO|1), 2424. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 2425. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2426. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2427. M1_HUMANOID|M1_OMNIVORE, 2428. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2429. M3_INFRAVISIBLE, CLR_RED), 2430. MON("lieutenant", S_HUMAN, 2431. LVL(10, 10, 10, 15, -4), (G_GENO|1), 2432. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4), 2433. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2434. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2435. M1_HUMANOID|M1_OMNIVORE, 2436. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2437. M3_INFRAVISIBLE, CLR_GREEN), 2438. MON("captain", S_HUMAN, 2439. LVL(12, 10, 10, 15, -5), (G_GENO|1), 2440. A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4), 2441. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2442. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2443. M1_HUMANOID|M1_OMNIVORE, 2444. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2445. M3_INFRAVISIBLE, CLR_BLUE), 2446. /* Keep these separate - some of the mkroom code assumes that 2447. * all the soldiers are contiguous. 2448. */ 2449. MON("watchman", S_HUMAN, 2450. LVL(6, 10, 10, 0, -2), (G_SGROUP|G_NOGEN|G_GENO|1), 2451. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2452. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2453. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2454. M1_HUMANOID|M1_OMNIVORE, 2455. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2456. M3_INFRAVISIBLE, CLR_GRAY), 2457. MON("watch captain", S_HUMAN, 2458. LVL(10, 10, 10, 15, -4), (G_NOGEN|G_GENO|1), 2459. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4), 2460. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2461. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2462. M1_HUMANOID|M1_OMNIVORE, 2463. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2464. M3_INFRAVISIBLE, CLR_GREEN), 2465. /* Unique humans not tied to quests. 2466. */ 2467. MON("Medusa", S_HUMAN, 2468. LVL(20, 12, 2, 50, -15), (G_NOGEN|G_UNIQ), 2469. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 1, 8), 2470. ATTK(AT_GAZE, AD_STON, 0, 0), ATTK(AT_BITE, AD_DRST, 1, 6), 2471. NO_ATTK, NO_ATTK), 2472. SIZ(WT_HUMAN, 400, 0, MS_HISS, MZ_LARGE), 2473. MR_POISON|MR_STONE, MR_POISON|MR_STONE, 2474. M1_FLY|M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_POIS|M1_OMNIVORE, 2475. M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_FEMALE, 2476. M3_WAITFORU|M3_INFRAVISIBLE, CLR_BRIGHT_GREEN), 2477. MON("Wizard of Yendor", S_HUMAN, 2478. LVL(30, 12, -8, 100, A_NONE), (G_NOGEN|G_UNIQ), 2479. A(ATTK(AT_CLAW, AD_SAMU, 2,12), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2480. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2481. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_HUMAN), 2482. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 2483. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT| 2484. M1_TPORT_CNTRL|M1_OMNIVORE, 2485. M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_NASTY| 2486. M2_PRINCE|M2_MALE|M2_MAGIC, 2487. M3_COVETOUS|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 2488. MON("Croesus", S_HUMAN, 2489. LVL(20, 15, 0, 40, 15), (G_UNIQ|G_NOGEN), 2490. A(ATTK(AT_WEAP, AD_PHYS, 4,10), 2491. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2492. SIZ(WT_HUMAN, 400, 0, MS_GUARD, MZ_HUMAN), 0, 0, 2493. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2494. M2_NOPOLY|M2_HUMAN|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_PNAME| 2495. M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC, 2496. M3_INFRAVISIBLE, HI_LORD), 2497. #ifdef CHARON 2498. MON("Charon", S_HUMAN, 2499. LVL(76, 18, -5, 120, 0), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2500. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TUCH, AD_PLYS, 1, 8), 2501. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2502. SIZ(WT_HUMAN, 400, 0, MS_FERRY, MZ_HUMAN), 2503. MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0, 2504. M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID, 2505. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_PNAME|M2_MALE|M2_GREEDY|M2_COLLECT, 2506. M3_INFRAVISIBLE, CLR_WHITE), 2507. #endif 2508. /* 2509. * ghosts 2510. */ 2511. MON("ghost", S_GHOST, 2512. LVL(10, 3, -5, 50, -5), (G_NOCORPSE|G_NOGEN), 2513. A(ATTK(AT_TUCH, AD_PHYS, 1, 1), 2514. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2515. SIZ(WT_HUMAN, 0, 0, MS_SILENT, MZ_HUMAN), 2516. MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0, 2517. M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID, 2518. M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, CLR_GRAY), 2519. MON("shade", S_GHOST, 2520. LVL(12, 10, 10, 0, 0), (G_NOCORPSE|G_NOGEN), 2521. A(ATTK(AT_TUCH, AD_PLYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6), 2522. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2523. SIZ(WT_HUMAN, 0, 0, MS_WAIL, MZ_HUMAN), 2524. MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0, 2525. M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID|M1_SEE_INVIS, 2526. M2_NOPOLY|M2_UNDEAD|M2_WANDER|M2_STALK|M2_HOSTILE|M2_NASTY, 2527. M3_INFRAVISION, CLR_BLACK), 2528. /* 2529. * (major) demons 2530. */ 2531. MON("water demon", S_DEMON, 2532. LVL(8, 12,-4, 30, -7), (G_NOCORPSE|G_NOGEN), 2533. A(ATTK(AT_WEAP, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2534. ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK), 2535. SIZ(WT_HUMAN, 400, 0, MS_DJINNI, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2536. M1_HUMANOID|M1_POIS|M1_SWIM, 2537. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 2538. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 2539. /* standard demons & devils 2540. */ 2541. MON("horned devil", S_DEMON, 2542. LVL(6, 9, -5, 50, 11), (G_HELL|G_NOCORPSE|2), 2543. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2544. ATTK(AT_BITE, AD_PHYS, 2, 3), ATTK(AT_STNG, AD_PHYS, 1, 3), 2545. NO_ATTK, NO_ATTK), 2546. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2547. M1_POIS|M1_THICK_HIDE, 2548. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION, 2549. CLR_BROWN), 2550. #ifdef SEDUCE 2551. # define SEDUCTION_ATTACKS \ 2552. A(ATTK(AT_BITE, AD_SSEX, 0, 0), ATTK(AT_CLAW, AD_PHYS, 1, 3), \ 2553. ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK) 2554. #else 2555. # define SEDUCTION_ATTACKS \ 2556. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), \ 2557. ATTK(AT_BITE, AD_DRLI, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK) 2558. #endif 2559. MON("succubus", S_DEMON, 2560. LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1), 2561. SEDUCTION_ATTACKS, 2562. SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2563. M1_HUMANOID|M1_FLY|M1_POIS, 2564. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE, 2565. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2566. MON("incubus", S_DEMON, 2567. LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1), 2568. SEDUCTION_ATTACKS, 2569. SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2570. M1_HUMANOID|M1_FLY|M1_POIS, 2571. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_MALE, 2572. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2573. #undef SEDUCTION_ATTACKS 2574. /* Used by AD&D for a type of demon, originally one of the Furies */ 2575. /* and spelled this way */ 2576. MON("erinys", S_DEMON, 2577. LVL(7, 12, 2, 30, 10), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2578. A(ATTK(AT_WEAP, AD_DRST, 2, 4), 2579. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2580. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2581. M1_HUMANOID|M1_POIS, 2582. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_FEMALE| 2583. M2_COLLECT, 2584. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2585. MON("barbed devil", S_DEMON, 2586. LVL(8, 12, 0, 35, 8), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2587. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 2588. ATTK(AT_STNG, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2589. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2590. M1_POIS|M1_THICK_HIDE, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 2591. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2592. MON("marilith", S_DEMON, 2593. LVL(7, 12, -6, 80, -12), (G_HELL|G_NOCORPSE|1), 2594. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2595. ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 2596. ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4)), 2597. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2598. M1_HUMANOID|M1_SLITHY|M1_SEE_INVIS|M1_POIS, 2599. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE|M2_COLLECT, 2600. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2601. MON("vrock", S_DEMON, 2602. LVL(8, 12, 0, 50, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2603. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2604. ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_CLAW, AD_PHYS, 1, 8), 2605. ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK), 2606. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2607. M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 2608. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2609. MON("hezrou", S_DEMON, 2610. LVL(9, 6, -2, 55, -10), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2611. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2612. ATTK(AT_BITE, AD_PHYS, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2613. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2614. M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 2615. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2616. MON("bone devil", S_DEMON, 2617. LVL(9, 15, -1, 40, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2618. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_STNG, AD_DRST, 2, 4), 2619. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2620. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2621. M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 2622. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2623. MON("ice devil", S_DEMON, 2624. LVL(11, 6, -4, 55, -12), (G_HELL|G_NOCORPSE|2), 2625. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2626. ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_COLD, 3, 4), 2627. NO_ATTK, NO_ATTK), 2628. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 2629. MR_FIRE|MR_COLD|MR_POISON, 0, M1_SEE_INVIS|M1_POIS, 2630. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION, 2631. CLR_WHITE), 2632. MON("nalfeshnee", S_DEMON, 2633. LVL(11, 9, -1, 65, -11), (G_HELL|G_NOCORPSE|1), 2634. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2635. ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2636. NO_ATTK, NO_ATTK), 2637. SIZ(WT_HUMAN, 400, 0, MS_SPELL, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2638. M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 2639. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2640. MON("pit fiend", S_DEMON, 2641. LVL(13, 6, -3, 65, -13), (G_HELL|G_NOCORPSE|2), 2642. A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_WEAP, AD_PHYS, 4, 2), 2643. ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2644. SIZ(WT_HUMAN, 400, 0, MS_GROWL, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2645. M1_SEE_INVIS|M1_POIS, 2646. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 2647. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2648. MON("balrog", S_DEMON, 2649. LVL(16, 5, -2, 75, -14), (G_HELL|G_NOCORPSE|1), 2650. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 2651. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2652. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2653. M1_FLY|M1_SEE_INVIS|M1_POIS, 2654. M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 2655. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2656. /* Named demon lords & princes plus Arch-Devils. 2657. * (their order matters; see minion.c) 2658. */ 2659. MON("Juiblex", S_DEMON, 2660. LVL(50, 3, -7, 65, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2661. A(ATTK(AT_ENGL, AD_DISE, 4,10), ATTK(AT_SPIT, AD_ACID, 3, 6), 2662. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2663. SIZ(1500, 0, 0, MS_GURGLE, MZ_LARGE), 2664. MR_FIRE|MR_POISON|MR_ACID|MR_STONE, 0, 2665. M1_AMPHIBIOUS|M1_AMORPHOUS|M1_NOHEAD|M1_FLY|M1_SEE_INVIS|M1_ACID| 2666. M1_POIS, 2667. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD| 2668. M2_MALE, 2669. M3_WAITFORU|M3_WANTSAMUL|M3_INFRAVISION, CLR_BRIGHT_GREEN), 2670. MON("Yeenoghu", S_DEMON, 2671. LVL(56, 18, -5, 80, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2672. A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_WEAP, AD_CONF, 2, 8), 2673. ATTK(AT_CLAW, AD_PLYS, 1, 6), ATTK(AT_MAGC, AD_MAGM, 2, 6), 2674. NO_ATTK, NO_ATTK), 2675. SIZ(900, 500, 0, MS_ORC, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2676. M1_FLY|M1_SEE_INVIS|M1_POIS, 2677. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD| 2678. M2_MALE|M2_COLLECT, 2679. M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2680. MON("Orcus", S_DEMON, 2681. LVL(66, 9, -6, 85, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2682. A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 4), 2683. ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_MAGC, AD_SPEL, 8, 6), 2684. ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK), 2685. SIZ(1500, 500, 0, MS_ORC, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2686. M1_FLY|M1_SEE_INVIS|M1_POIS, 2687. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_PRINCE| 2688. M2_MALE|M2_COLLECT, 2689. M3_WAITFORU|M3_WANTSBOOK|M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, 2690. HI_LORD), 2691. MON("Geryon", S_DEMON, 2692. LVL(72, 3, -3, 75, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2693. A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6), 2694. ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2695. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2696. M1_FLY|M1_SEE_INVIS|M1_POIS|M1_SLITHY, 2697. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2698. M2_PRINCE|M2_MALE, 2699. M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2700. MON("Dispater", S_DEMON, 2701. LVL(78, 15, -2, 80, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2702. A(ATTK(AT_WEAP, AD_PHYS, 4, 6), ATTK(AT_MAGC, AD_SPEL, 6, 6), 2703. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2704. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2705. M1_FLY|M1_SEE_INVIS|M1_POIS|M1_HUMANOID, 2706. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2707. M2_PRINCE|M2_MALE|M2_COLLECT, 2708. M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2709. MON("Baalzebub", S_DEMON, 2710. LVL(89, 9, -5, 85, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2711. A(ATTK(AT_BITE, AD_DRST, 2, 6), ATTK(AT_GAZE, AD_STUN, 2, 6), 2712. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2713. SIZ(1500, 500, 0, MS_BRIBE, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2714. M1_FLY|M1_SEE_INVIS|M1_POIS, 2715. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2716. M2_PRINCE|M2_MALE, 2717. M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2718. MON("Asmodeus", S_DEMON, 2719. LVL(105, 12, -7, 90, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2720. A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_MAGC, AD_COLD, 6, 6), 2721. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2722. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_COLD|MR_POISON, 0, 2723. M1_FLY|M1_SEE_INVIS|M1_HUMANOID|M1_POIS, 2724. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG| 2725. M2_NASTY|M2_PRINCE|M2_MALE, 2726. M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2727. MON("Demogorgon", S_DEMON, 2728. LVL(106, 15, -8, 95, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2729. A(ATTK(AT_MAGC, AD_SPEL, 8, 6), ATTK(AT_STNG, AD_DRLI, 1, 4), 2730. ATTK(AT_CLAW, AD_DISE, 1, 6), ATTK(AT_CLAW, AD_DISE, 1, 6), 2731. NO_ATTK, NO_ATTK), 2732. SIZ(1500, 500, 0, MS_GROWL, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2733. M1_FLY|M1_SEE_INVIS|M1_NOHANDS|M1_POIS, 2734. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2735. M2_PRINCE|M2_MALE, 2736. M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2737. /* Riders -- the Four Horsemen of the Apocalypse ("War" player) 2738. */ 2739. MON("Death", S_DEMON, 2740. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2741. A(ATTK(AT_TUCH, AD_DETH, 8, 8), ATTK(AT_TUCH, AD_DETH, 8, 8), 2742. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2743. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2744. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2745. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2746. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2747. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2748. MON("Pestilence", S_DEMON, 2749. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2750. A(ATTK(AT_TUCH, AD_PEST, 8, 8), ATTK(AT_TUCH, AD_PEST, 8, 8), 2751. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2752. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2753. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2754. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2755. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2756. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2757. MON("Famine", S_DEMON, 2758. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2759. A(ATTK(AT_TUCH, AD_FAMN, 8, 8), ATTK(AT_TUCH, AD_FAMN, 8, 8), 2760. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2761. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2762. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2763. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2764. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2765. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2766. /* other demons 2767. */ 2768. #ifdef MAIL 2769. MON("mail daemon", S_DEMON, 2770. LVL(56, 24, 10, 127, 0), (G_NOGEN|G_NOCORPSE), 2771. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2772. SIZ(600, 300, 0, MS_SILENT, MZ_HUMAN), 2773. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2774. M1_FLY|M1_SWIM|M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID|M1_POIS, 2775. M2_NOPOLY|M2_STALK|M2_PEACEFUL, M3_INFRAVISIBLE|M3_INFRAVISION, 2776. CLR_BRIGHT_BLUE), 2777. #endif 2778. MON("djinni", S_DEMON, 2779. LVL(7, 12, 4, 30, 0), (G_NOGEN|G_NOCORPSE), 2780. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), 2781. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2782. SIZ(1500, 400, 0, MS_DJINNI, MZ_HUMAN), MR_POISON|MR_STONE, 0, 2783. M1_HUMANOID|M1_FLY|M1_POIS, 2784. M2_NOPOLY|M2_STALK|M2_COLLECT, M3_INFRAVISIBLE, CLR_YELLOW), 2785. MON("sandestin", S_DEMON, 2786. LVL(13, 12, 4, 60, -5), (G_HELL|G_NOCORPSE|1), 2787. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 2788. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2789. SIZ(1500, 400, 0, MS_CUSS, MZ_HUMAN), MR_STONE, 0, 2790. M1_HUMANOID, M2_NOPOLY|M2_STALK|M2_STRONG|M2_COLLECT, 2791. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2792. /* 2793. * sea monsters 2794. */ 2795. MON("jellyfish", S_EEL, 2796. LVL(3, 3, 6, 0, 0), (G_GENO|G_NOGEN), 2797. A(ATTK(AT_STNG, AD_DRST, 3, 3), NO_ATTK, 2798. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2799. SIZ(80, 20, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 2800. M1_SWIM|M1_AMPHIBIOUS|M1_SLITHY|M1_NOLIMBS|M1_NOTAKE|M1_POIS, 2801. M2_HOSTILE, 0, CLR_BLUE), 2802. MON("piranha", S_EEL, 2803. LVL(5, 12, 4, 0, 0), (G_GENO|G_NOGEN|G_SGROUP), 2804. A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, 2805. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2806. SIZ(60, 30, 0, MS_SILENT, MZ_SMALL), 0, 0, 2807. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2808. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 2809. M2_HOSTILE, 0, CLR_RED), 2810. MON("shark", S_EEL, 2811. LVL(7, 12, 2, 0, 0), (G_GENO|G_NOGEN), 2812. A(ATTK(AT_BITE, AD_PHYS, 5, 6), NO_ATTK, 2813. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2814. SIZ(500, 350, 0, MS_SILENT, MZ_LARGE), 0, 0, 2815. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2816. M1_CARNIVORE|M1_OVIPAROUS|M1_THICK_HIDE|M1_NOTAKE, 2817. M2_HOSTILE, 0, CLR_GRAY), 2818. MON("giant eel", S_EEL, 2819. LVL(5, 9, -1, 0, 0), (G_GENO|G_NOGEN), 2820. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0), 2821. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2822. SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), 0, 0, 2823. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2824. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 2825. M2_HOSTILE, M3_INFRAVISIBLE, CLR_CYAN), 2826. MON("electric eel", S_EEL, 2827. LVL(7, 10, -3, 0, 0), (G_GENO|G_NOGEN), 2828. A(ATTK(AT_BITE, AD_ELEC, 4, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0), 2829. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2830. SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), MR_ELEC, MR_ELEC, 2831. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2832. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 2833. M2_HOSTILE, M3_INFRAVISIBLE, CLR_BRIGHT_BLUE), 2834. MON("kraken", S_EEL, 2835. LVL(20, 3, 6, 0, -3), (G_GENO|G_NOGEN), 2836. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 2837. ATTK(AT_HUGS, AD_WRAP, 2, 6), ATTK(AT_BITE, AD_PHYS, 5, 4), 2838. NO_ATTK, NO_ATTK), 2839. SIZ(1800, 1000, 0, MS_SILENT, MZ_HUGE), 0, 0, 2840. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2841. M2_NOPOLY|M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_RED), 2842. /* 2843. * lizards, &c 2844. */ 2845. MON("newt", S_LIZARD, 2846. LVL(0, 6, 8, 0, 0), (G_GENO|5), 2847. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 2848. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2849. SIZ(10, 20, 0, MS_SILENT, MZ_TINY), 0, 0, 2850. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2851. M2_HOSTILE, 0, CLR_YELLOW), 2852. MON("gecko", S_LIZARD, 2853. LVL(1, 6, 8, 0, 0), (G_GENO|5), 2854. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 2855. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2856. SIZ(10, 20, 0, MS_SQEEK, MZ_TINY), 0, 0, 2857. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN), 2858. MON("iguana", S_LIZARD, 2859. LVL(2, 6, 7, 0, 0), (G_GENO|5), 2860. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 2861. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2862. SIZ(30, 30, 0, MS_SILENT, MZ_TINY), 0, 0, 2863. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 2864. MON("baby crocodile", S_LIZARD, 2865. LVL(3, 6, 7, 0, 0), G_GENO, 2866. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 2867. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2868. SIZ(200, 200, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 2869. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2870. M2_HOSTILE, 0, CLR_BROWN), 2871. MON("lizard", S_LIZARD, 2872. LVL(5, 6, 6, 10, 0), (G_GENO|5), 2873. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 2874. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2875. SIZ(10, 40, 0, MS_SILENT, MZ_TINY), MR_STONE, MR_STONE, 2876. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN), 2877. MON("chameleon", S_LIZARD, 2878. LVL(6, 5, 6, 10, 0), (G_GENO|2), 2879. A(ATTK(AT_BITE, AD_PHYS, 4, 2), 2880. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2881. SIZ(100, 100, 0, MS_SILENT, MZ_TINY), 0, 0, 2882. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_NOPOLY|M2_HOSTILE, 0, CLR_BROWN), 2883. MON("crocodile", S_LIZARD, 2884. LVL(6, 9, 5, 0, 0), (G_GENO|1), 2885. A(ATTK(AT_BITE, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 1,12), 2886. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2887. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 0, 0, 2888. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS| 2889. M1_OVIPAROUS|M1_CARNIVORE, 2890. M2_STRONG|M2_HOSTILE, 0, CLR_BROWN), 2891. MON("salamander", S_LIZARD, 2892. LVL(8, 12, -1, 0, -9), (G_HELL|1), 2893. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_TUCH, AD_FIRE, 1, 6), 2894. ATTK(AT_HUGS, AD_PHYS, 2, 6), ATTK(AT_HUGS, AD_FIRE, 3, 6), 2895. NO_ATTK, NO_ATTK), 2896. SIZ(1500, 400, 0, MS_MUMBLE, MZ_HUMAN), MR_SLEEP|MR_FIRE, MR_FIRE, 2897. M1_HUMANOID|M1_SLITHY|M1_THICK_HIDE|M1_POIS, 2898. M2_STALK|M2_HOSTILE|M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE, CLR_ORANGE), 2899. 2900. /* 2901. * dummy monster needed for visual interface 2902. */ 2903. /* (marking it unique prevents figurines) 2904. */ 2905. MON("long worm tail", S_WORM_TAIL, 2906. LVL(0, 0, 0, 0, 0), (G_NOGEN|G_NOCORPSE|G_UNIQ), 2907. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2908. SIZ(0, 0, 0, 0, 0), 0, 0, 0L, M2_NOPOLY, 0, CLR_BROWN), 2909. 2910. /* Note: 2911. * Worm tail must be between the normal monsters and the special 2912. * quest & pseudo-character ones because an optimization in the 2913. * random monster selection code assumes everything beyond here 2914. * has the G_NOGEN and M2_NOPOLY attributes. 2915. */ 2916. 2917. /* 2918. * character classes 2919. */ 2920. MON("archeologist", S_HUMAN, 2921. LVL(10, 12, 10, 1, 3), G_NOGEN, 2922. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 2923. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2924. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2925. M1_HUMANOID|M1_TUNNEL|M1_NEEDPICK|M1_OMNIVORE, 2926. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 2927. MON("barbarian", S_HUMAN, 2928. LVL(10, 12, 10, 1, 0), G_NOGEN, 2929. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 2930. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2931. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 2932. M1_HUMANOID|M1_OMNIVORE, 2933. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 2934. MON("caveman", S_HUMAN, 2935. LVL(10, 12, 10, 0, 1), G_NOGEN, 2936. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2937. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2938. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2939. M1_HUMANOID|M1_OMNIVORE, 2940. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE, 2941. HI_DOMESTIC), 2942. MON("cavewoman", S_HUMAN, 2943. LVL(10, 12, 10, 0, 1), G_NOGEN, 2944. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2945. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2946. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2947. M1_HUMANOID|M1_OMNIVORE, 2948. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, 2949. HI_DOMESTIC), 2950. MON("healer", S_HUMAN, 2951. LVL(10, 12, 10, 1, 0), G_NOGEN, 2952. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2953. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2954. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 2955. M1_HUMANOID|M1_OMNIVORE, 2956. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 2957. MON("knight", S_HUMAN, 2958. LVL(10, 12, 10, 1, 3), G_NOGEN, 2959. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 2960. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2961. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2962. M1_HUMANOID|M1_OMNIVORE, 2963. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 2964. MON("monk", S_HUMAN, 2965. LVL(10, 12, 10, 2, 0), G_NOGEN, 2966. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 8), 2967. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2968. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2969. M1_HUMANOID|M1_HERBIVORE, 2970. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MALE, 2971. M3_INFRAVISIBLE, HI_DOMESTIC), 2972. MON("priest", S_HUMAN, 2973. LVL(10, 12, 10, 2, 0), G_NOGEN, 2974. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2975. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2976. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2977. M1_HUMANOID|M1_OMNIVORE, 2978. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE, 2979. HI_DOMESTIC), 2980. MON("priestess", S_HUMAN, 2981. LVL(10, 12, 10, 2, 0), G_NOGEN, 2982. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2983. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2984. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2985. M1_HUMANOID|M1_OMNIVORE, 2986. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, 2987. HI_DOMESTIC), 2988. MON("ranger", S_HUMAN, 2989. LVL(10, 12, 10, 2, -3), G_NOGEN, 2990. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 2991. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2992. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2993. M1_HUMANOID|M1_OMNIVORE, 2994. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 2995. HI_DOMESTIC), 2996. MON("rogue", S_HUMAN, 2997. LVL(10, 12, 10, 1, -3), G_NOGEN, 2998. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 2999. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3000. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3001. M1_HUMANOID|M1_OMNIVORE, 3002. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 3003. M3_INFRAVISIBLE, HI_DOMESTIC), 3004. MON("samurai", S_HUMAN, 3005. LVL(10, 12, 10, 1, 3), G_NOGEN, 3006. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), 3007. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3008. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3009. M1_HUMANOID|M1_OMNIVORE, 3010. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 3011. #ifdef TOURIST 3012. MON("tourist", S_HUMAN, 3013. LVL(10, 12, 10, 1, 0), G_NOGEN, 3014. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 3015. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3016. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3017. M1_HUMANOID|M1_OMNIVORE, 3018. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 3019. #endif 3020. MON("valkyrie", S_HUMAN, 3021. LVL(10, 12, 10, 1, -1), G_NOGEN, 3022. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), 3023. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3024. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_COLD, 0, 3025. M1_HUMANOID|M1_OMNIVORE, 3026. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, 3027. HI_DOMESTIC), 3028. MON("wizard", S_HUMAN, 3029. LVL(10, 12, 10, 3, 0), G_NOGEN, 3030. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3031. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3032. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3033. M1_HUMANOID|M1_OMNIVORE, 3034. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE, 3035. HI_DOMESTIC), 3036. /* 3037. * quest leaders 3038. */ 3039. MON("Lord Carnarvon", S_HUMAN, 3040. LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ), 3041. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3042. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3043. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3044. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 3045. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3046. M2_COLLECT|M2_MAGIC, 3047. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3048. MON("Pelias", S_HUMAN, 3049. LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ), 3050. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3051. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3052. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0, 3053. M1_HUMANOID|M1_OMNIVORE, 3054. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3055. M2_COLLECT|M2_MAGIC, 3056. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3057. MON("Shaman Karnov", S_HUMAN, 3058. LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ), 3059. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 3060. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3061. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3062. M1_HUMANOID|M1_OMNIVORE, 3063. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3064. M2_COLLECT|M2_MAGIC, 3065. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3066. #if 0 /* OBSOLETE */ 3067. /* Two for elves - one of each sex. 3068. */ 3069. MON("Earendil", S_HUMAN, 3070. LVL(20, 12, 0, 50, -20), (G_NOGEN|G_UNIQ), 3071. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3072. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3073. SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 3074. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3075. M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG| 3076. M2_MALE|M2_COLLECT|M2_MAGIC, 3077. M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3078. MON("Elwing", S_HUMAN, 3079. LVL(20, 12, 0, 50, -20), (G_NOGEN|G_UNIQ), 3080. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3081. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3082. SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 3083. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3084. M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG| 3085. M2_FEMALE|M2_COLLECT|M2_MAGIC, 3086. M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3087. #endif 3088. MON("Hippocrates", S_HUMAN, 3089. LVL(20, 12, 0, 40, 0), (G_NOGEN|G_UNIQ), 3090. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3091. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3092. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0, 3093. M1_HUMANOID|M1_OMNIVORE, 3094. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3095. M2_COLLECT|M2_MAGIC, 3096. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3097. MON("King Arthur", S_HUMAN, 3098. LVL(20, 12, 0, 40, 20), (G_NOGEN|G_UNIQ), 3099. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 3100. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3101. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3102. M1_HUMANOID|M1_OMNIVORE, 3103. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3104. M2_COLLECT|M2_MAGIC, 3105. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3106. MON("Grand Master", S_HUMAN, 3107. LVL(25, 12, 0, 70, 0), (G_NOGEN|G_UNIQ), 3108. A(ATTK(AT_CLAW, AD_PHYS, 4, 10), ATTK(AT_KICK, AD_PHYS, 2, 8), 3109. ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), 3110. NO_ATTK, NO_ATTK), 3111. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 3112. MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, 3113. M1_HUMANOID|M1_SEE_INVIS|M1_HERBIVORE, 3114. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_NASTY|M2_MAGIC, 3115. M3_CLOSE|M3_INFRAVISIBLE, CLR_BLACK), 3116. MON("Arch Priest", S_HUMAN, 3117. LVL(25, 12, 7, 70, 0), (G_NOGEN|G_UNIQ), 3118. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8), 3119. ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), 3120. NO_ATTK, NO_ATTK), 3121. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 3122. MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, 3123. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3124. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 3125. M3_CLOSE|M3_INFRAVISIBLE, CLR_WHITE), 3126. MON("Orion", S_HUMAN, 3127. LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ), 3128. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3129. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3130. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3131. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS|M1_SWIM|M1_AMPHIBIOUS, 3132. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3133. M2_COLLECT|M2_MAGIC, 3134. M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3135. /* Note: Master of Thieves is also the Tourist's nemesis. 3136. */ 3137. MON("Master of Thieves", S_HUMAN, 3138. LVL(20, 12, 0, 30, -20), (G_NOGEN|G_UNIQ), 3139. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 3140. ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 3141. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3142. M1_HUMANOID|M1_OMNIVORE, 3143. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_GREEDY| 3144. M2_JEWELS|M2_COLLECT|M2_MAGIC, 3145. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3146. MON("Lord Sato", S_HUMAN, 3147. LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ), 3148. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6), 3149. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3150. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3151. M1_HUMANOID|M1_OMNIVORE, 3152. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3153. M2_COLLECT|M2_MAGIC, 3154. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3155. #ifdef TOURIST 3156. MON("Twoflower", S_HUMAN, 3157. LVL(20, 12, 10, 20, 0), (G_NOGEN|G_UNIQ), 3158. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 3159. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3160. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3161. M1_HUMANOID|M1_OMNIVORE, 3162. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3163. M2_COLLECT|M2_MAGIC, 3164. M3_CLOSE|M3_INFRAVISIBLE, HI_DOMESTIC), 3165. #endif 3166. MON("Norn", S_HUMAN, 3167. LVL(20, 12, 0, 80, 0), (G_NOGEN|G_UNIQ), 3168. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6), 3169. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3170. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_COLD, 0, 3171. M1_HUMANOID|M1_OMNIVORE, 3172. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_FEMALE| 3173. M2_COLLECT|M2_MAGIC, 3174. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3175. MON("Neferet the Green", S_HUMAN, 3176. LVL(20, 12, 0, 60, 0), (G_NOGEN|G_UNIQ), 3177. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 2, 8), 3178. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3179. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3180. M1_HUMANOID|M1_OMNIVORE, 3181. M2_NOPOLY|M2_HUMAN|M2_FEMALE|M2_PNAME|M2_PEACEFUL| 3182. M2_STRONG|M2_COLLECT|M2_MAGIC, 3183. M3_CLOSE|M3_INFRAVISIBLE, CLR_GREEN), 3184. /* 3185. * quest nemeses 3186. */ 3187. MON("Minion of Huhetotl", S_DEMON, 3188. LVL(16, 12, -2, 75, -14), (G_NOCORPSE|G_NOGEN|G_UNIQ), 3189. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 3190. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6), 3191. NO_ATTK, NO_ATTK), 3192. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 3193. M1_FLY|M1_SEE_INVIS|M1_POIS, 3194. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 3195. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED), 3196. MON("Thoth Amon", S_HUMAN, 3197. LVL(16, 12, 0, 10, -14), (G_NOGEN|G_UNIQ|G_NOCORPSE), 3198. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3199. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4), 3200. NO_ATTK, NO_ATTK), 3201. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON, 0, 3202. M1_HUMANOID|M1_OMNIVORE, 3203. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_STRONG|M2_MALE|M2_STALK|M2_HOSTILE| 3204. M2_NASTY|M2_COLLECT|M2_MAGIC, 3205. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3206. /* Multi-headed, possessing the breath attacks of all the other dragons 3207. * (selected at random when attacking). 3208. */ 3209. MON("Chromatic Dragon", S_DRAGON, 3210. LVL(16, 12, 0, 30, -14), (G_NOGEN|G_UNIQ), 3211. A(ATTK(AT_BREA, AD_RBRE, 6, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3212. ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_BITE, AD_PHYS, 4, 8), 3213. ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_STNG, AD_PHYS, 1, 6)), 3214. SIZ(WT_DRAGON, 1700, 0, MS_NEMESIS, MZ_GIGANTIC), 3215. MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, 3216. MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_ELEC|MR_POISON|MR_STONE, 3217. M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS|M1_POIS, 3218. M2_NOPOLY|M2_HOSTILE|M2_FEMALE|M2_STALK|M2_STRONG|M2_NASTY| 3219. M2_GREEDY|M2_JEWELS|M2_MAGIC, 3220. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3221. #if 0 /* OBSOLETE */ 3222. MON("Goblin King", S_ORC, 3223. LVL(15, 12, 10, 0, -15), (G_NOGEN|G_UNIQ), 3224. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 3225. ATTK(AT_CLAW, AD_SAMU, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3226. SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 3227. M1_HUMANOID|M1_OMNIVORE, 3228. M2_NOPOLY|M2_ORC|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|M2_MALE| 3229. M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC, 3230. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3231. #endif 3232. MON("Cyclops", S_GIANT, 3233. LVL(18, 12, 0, 0, -15), (G_NOGEN|G_UNIQ), 3234. A(ATTK(AT_WEAP, AD_PHYS, 4, 8), ATTK(AT_WEAP, AD_PHYS, 4, 8), 3235. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3236. SIZ(1900, 700, 0, MS_NEMESIS, MZ_HUGE), 0, 0, 3237. M1_HUMANOID|M1_OMNIVORE, 3238. M2_NOPOLY|M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_STALK|M2_HOSTILE| 3239. M2_NASTY|M2_MALE|M2_JEWELS|M2_COLLECT, 3240. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_GRAY), 3241. MON("Ixoth", S_DRAGON, 3242. LVL(15, 12, -1, 20, -14), (G_NOGEN|G_UNIQ), 3243. A(ATTK(AT_BREA, AD_FIRE, 8, 6), ATTK(AT_BITE, AD_PHYS, 4, 8), 3244. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_PHYS, 2, 4), 3245. ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK ), 3246. SIZ(WT_DRAGON, 1600, 0, MS_NEMESIS, MZ_GIGANTIC), MR_FIRE, MR_FIRE, 3247. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS, 3248. M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_STALK| 3249. M2_GREEDY|M2_JEWELS|M2_MAGIC, 3250. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_RED), 3251. MON("Master Kaen", S_HUMAN, 3252. LVL(25, 12, -10, 10, -20), (G_NOGEN|G_UNIQ), 3253. A(ATTK(AT_CLAW, AD_PHYS, 16, 2), ATTK(AT_CLAW, AD_PHYS, 16, 2), 3254. ATTK(AT_MAGC, AD_CLRC, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4), 3255. NO_ATTK, NO_ATTK), 3256. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON, MR_POISON, 3257. M1_HUMANOID|M1_HERBIVORE|M1_SEE_INVIS, 3258. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY| 3259. M2_STALK|M2_COLLECT|M2_MAGIC, 3260. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3261. MON("Nalzok", S_DEMON, 3262. LVL(16, 12, -2, 85, -127), (G_NOGEN|G_UNIQ|G_NOCORPSE), 3263. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 3264. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6), 3265. NO_ATTK, NO_ATTK), 3266. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 3267. M1_FLY|M1_SEE_INVIS|M1_POIS, 3268. M2_NOPOLY|M2_DEMON|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK| 3269. M2_NASTY|M2_COLLECT, 3270. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED), 3271. MON("Scorpius", S_SPIDER, 3272. LVL(15, 12, 10, 0, -15), (G_NOGEN|G_UNIQ), 3273. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_SAMU, 2, 6), 3274. ATTK(AT_STNG, AD_DISE, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 3275. SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON, MR_POISON, 3276. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 3277. M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY| 3278. M2_COLLECT|M2_MAGIC, 3279. M3_WANTSARTI|M3_WAITFORU, HI_LORD), 3280. MON("Master Assassin", S_HUMAN, 3281. LVL(15, 12, 0, 30, 18), (G_NOGEN|G_UNIQ), 3282. A(ATTK(AT_WEAP, AD_DRST, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 8), 3283. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3284. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 3285. M1_HUMANOID|M1_OMNIVORE, 3286. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY| 3287. M2_COLLECT|M2_MAGIC, 3288. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3289. /* A renegade daimyo who led a 13 year civil war against the shogun 3290. * of his time. 3291. */ 3292. MON("Ashikaga Takauji", S_HUMAN, 3293. LVL(15, 12, 0, 40, -13), (G_NOGEN|G_UNIQ|G_NOCORPSE), 3294. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 3295. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3296. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 3297. M1_HUMANOID|M1_OMNIVORE, 3298. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK| 3299. M2_NASTY|M2_MALE|M2_COLLECT|M2_MAGIC, 3300. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3301. #ifdef TOURIST 3302. /* 3303. * Note: the Master of Thieves was defined above. 3304. */ 3305. #endif 3306. MON("Lord Surtur", S_GIANT, 3307. LVL(15, 12, 2, 50, 12), (G_NOGEN|G_UNIQ), 3308. A(ATTK(AT_WEAP, AD_PHYS, 2,10), ATTK(AT_WEAP, AD_PHYS, 2,10), 3309. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3310. SIZ(2250, 850, 0, MS_NEMESIS, MZ_HUGE), MR_FIRE, MR_FIRE, 3311. M1_HUMANOID|M1_OMNIVORE, 3312. M2_NOPOLY|M2_GIANT|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STALK| 3313. M2_STRONG|M2_NASTY|M2_ROCKTHROW|M2_JEWELS|M2_COLLECT, 3314. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3315. MON("Dark One", S_HUMAN, 3316. LVL(15, 12, 0, 80, -10), (G_NOGEN|G_UNIQ|G_NOCORPSE), 3317. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 3318. ATTK(AT_CLAW, AD_SAMU, 1, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3319. NO_ATTK, NO_ATTK), 3320. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 3321. M1_HUMANOID|M1_OMNIVORE, 3322. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY| 3323. M2_COLLECT|M2_MAGIC, 3324. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_BLACK), 3325. /* 3326. * quest "guardians" 3327. */ 3328. MON("student", S_HUMAN, 3329. LVL(5, 12, 10, 10, 3), G_NOGEN, 3330. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3331. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3332. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3333. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 3334. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3335. HI_DOMESTIC), 3336. MON("chieftain", S_HUMAN, 3337. LVL(5, 12, 10, 10, 0), G_NOGEN, 3338. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3339. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3340. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0, 3341. M1_HUMANOID|M1_OMNIVORE, 3342. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3343. HI_DOMESTIC), 3344. MON("neanderthal", S_HUMAN, 3345. LVL(5, 12, 10, 10, 1), G_NOGEN, 3346. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 3347. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3348. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3349. M1_HUMANOID|M1_OMNIVORE, 3350. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3351. HI_DOMESTIC), 3352. #if 0 /* OBSOLETE */ 3353. MON("High-elf", S_HUMAN, 3354. LVL(5, 12, 10, 10, -7), G_NOGEN, 3355. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_CLRC, 0, 0), 3356. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3357. SIZ(WT_ELF, 350, 0, MS_GUARDIAN, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 3358. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3359. M2_NOPOLY|M2_ELF|M2_PEACEFUL|M2_COLLECT, 3360. M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC), 3361. #endif 3362. MON("attendant", S_HUMAN, 3363. LVL(5, 12, 10, 10, 3), G_NOGEN, 3364. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3365. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3366. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0, 3367. M1_HUMANOID|M1_OMNIVORE, 3368. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3369. HI_DOMESTIC), 3370. MON("page", S_HUMAN, 3371. LVL(5, 12, 10, 10, 3), G_NOGEN, 3372. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 3373. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3374. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3375. M1_HUMANOID|M1_OMNIVORE, 3376. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3377. HI_DOMESTIC), 3378. MON("abbot", S_HUMAN, 3379. LVL(5, 12, 10, 20, 0), G_NOGEN, 3380. A(ATTK(AT_CLAW, AD_PHYS, 8, 2), ATTK(AT_KICK, AD_STUN, 3, 2), 3381. ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 3382. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3383. M1_HUMANOID|M1_HERBIVORE, 3384. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3385. HI_DOMESTIC), 3386. MON("acolyte", S_HUMAN, 3387. LVL(5, 12, 10, 20, 0), G_NOGEN, 3388. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_CLRC, 0, 0), 3389. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3390. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3391. M1_HUMANOID|M1_OMNIVORE, 3392. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3393. HI_DOMESTIC), 3394. MON("hunter", S_HUMAN, 3395. LVL(5, 12, 10, 10, -7), G_NOGEN, 3396. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 3397. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3398. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3399. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3400. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 3401. M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC), 3402. MON("thug", S_HUMAN, 3403. LVL(5, 12, 10, 10, -3), G_NOGEN, 3404. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 3405. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3406. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3407. M1_HUMANOID|M1_OMNIVORE, 3408. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_GREEDY|M2_COLLECT, 3409. M3_INFRAVISIBLE, HI_DOMESTIC), 3410. MON("ninja", S_HUMAN, 3411. LVL(5, 12, 10, 10, 3), G_NOGEN, 3412. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), 3413. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3414. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3415. M1_HUMANOID|M1_OMNIVORE, 3416. M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3417. HI_DOMESTIC), 3418. MON("roshi", S_HUMAN, 3419. LVL(5, 12, 10, 10, 3), G_NOGEN, 3420. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), 3421. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3422. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3423. M1_HUMANOID|M1_OMNIVORE, 3424. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3425. HI_DOMESTIC), 3426. #ifdef TOURIST 3427. MON("guide", S_HUMAN, 3428. LVL(5, 12, 10, 20, 0), G_NOGEN, 3429. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3430. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3431. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3432. M1_HUMANOID|M1_OMNIVORE, 3433. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL | M2_STRONG|M2_COLLECT|M2_MAGIC, 3434. M3_INFRAVISIBLE, HI_DOMESTIC), 3435. #endif 3436. MON("warrior", S_HUMAN, 3437. LVL(5, 12, 10, 10, -1), G_NOGEN, 3438. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), 3439. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3440. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3441. M1_HUMANOID|M1_OMNIVORE, 3442. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3443. HI_DOMESTIC), 3444. MON("apprentice", S_HUMAN, 3445. LVL(5, 12, 10, 30, 0), G_NOGEN, 3446. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3447. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3448. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3449. M1_HUMANOID|M1_OMNIVORE, 3450. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 3451. M3_INFRAVISIBLE, HI_DOMESTIC), 3452. /* 3453. * array terminator 3454. */ 3455. MON("", 0, 3456. LVL(0, 0, 0, 0, 0), (0), 3457. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3458. SIZ(0, 0, 0, 0, 0), 0, 0, 0L, 0L, 0, 0) 3459. }; 3460. #endif /* !SPLITMON_1 */ 3461. 3462. #ifndef SPLITMON_1 3463. /* dummy routine used to force linkage */ 3464. void 3465. monst_init() 3466. { 3467. return; 3468. } 3469. #endif 3470. 3471. /*monst.c*/ monst.c